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
We want SettlementRouter to support ERC20 Permit (EIP-2612) so tokens without EIP-3009 can be used.
Permit only authorizes spender/value/deadline/nonce; it does NOT bind business params (payTo, facilitatorFee, hook, hookData, salt). Facilitators could tamper these unless we add our own binding.
With 3009 we bound nonce == commitment so business params were signed once. Permit nonces are owned by the token contract and cannot be set to a commitment.
Risk
If we only rely on Permit: facilitator can change payTo/fee/hook and still use the Permit to pull funds.
If we add our own binding: naive approach requires a second signature (one Permit + one Router commitment), which increases client friction.
Context / Problem
Risk
Proposal (options)
Permit + Router commitment (double signature, minimal deps)
Permit2 with witness (single signature, extra dependency)
Unsafe (not recommended)
Suggested path
Open questions