You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TrainRouter: rewrite as a target-agnostic signed-call forwarder. Drops the ITrain coupling and Train-schema EIP-712 literals; the intent now binds (user, train, token, amount, keccak256(callData)) and forwardWithPermit / forwardWithPermit2 / forwardWithAuthorization pull funds and forward opaque callData with an exact-amount approval and a post-call conservation check.
Train: emit payoutCurve in the UserLocked and SolverLocked events so indexers/solvers can see the curve without an extra RPC call (no core-logic change).
Tests: rewrite the router unit/fork/invariant tests for the new API; add native-ETH redeemSolver failure-edge tests; assert payoutCurve in the lock-event tests. Full suite green including the mainnet-fork Permit2/USDC checks; Echidna/Medusa run clean.
Scripts: add the native-ETH Sepolia flow (TestNative + native refund pair) and migrate the gasless scripts to the forwarder API.
Also: add the Echidna/Medusa invariant suite and configs plus a Slither stub; refresh READMEs; remove the Tron deploy script and the deprecated Linear/Sqrt/Volatility payout curves.
0 commit comments