Signing and Authorization
The owner deploys a UserProxyV6, approves that proxy for each input token, then signs the
12-field flat Order on the
IntentSettlerV3 EIP-712 domain. The proxy verifies the signature and pulls the input to the
settler.
The Proxy Allowance
Section titled “The Proxy Allowance”Before signing, the owner must grant a standard ERC-20 allowance for tokenIn to their own
UserProxyV6.
This is the on-chain gate for the proxy pull. IntentLensV3.preview reports the allowance from the
owner to that proxy.
The Flat Order
Section titled “The Flat Order”The owner signs a plain EIP-712 Order message. Its domain is the settler’s own domain:
name: "AgentSwap IntentSettler", version: "3", with the deployed IntentSettlerV3 as the
verifying contract.
The type is:
Order(address owner,address recipient,address tokenIn,uint256 amountIn,address tokenOut,uint256 startAmountOut,uint256 endAmountOut,uint256 startTime,uint256 decayEndTime,uint256 endTime,bytes32 appData,uint256 nonce)The V6 owner authorization envelope is:
abi.encode(AuthKind, bytes payload)// AuthKind.Owner = 0; payload = abi.encode(bytes ownerSignature)orderDigest(order) returns the exact digest for the owner’s flat signature. The proxy recomputes
the digest when it authorizes the pull.
Cancellation Signatures
Section titled “Cancellation Signatures”Gasless off-chain cancellations are still signed against the settler’s own domain.
The cancellation typehash is CancelIntent(bytes32 orderHash,uint256 deadline) under the V3
domain EIP712("AgentSwap IntentSettler", "3").