通用结构
授权类型结构
EIP-3009 (transferWithAuthorization)
EIP-2612 Permit
Permit2(含 Witness 可选)
EIP-712 关键字段
- domain: name/version/chainId/verifyingContract
- types: 随授权类型而变(TransferWithAuthorization/Permit/Permit2)
- message: 授权主体(amount/nonce/deadline等)
示例(EIP-3009)
示例(Permit2 with Witness)
校验清单(服务端)
- 版本/方案/网络 与 requirements 一致
- 授权签名有效,签名者与 owner/from 匹配
- Token/接收者匹配:
token === asset,to/spender === payTo - 金额与时效:满足
maxAmountRequired且未过期 - Nonce/余额:未使用且余额充足(按类型检查)
关键校验
- 版本/方案/网络 与 requirements 一致
- 金额 ≥
maxAmountRequired - 截止时间未过期
spender === payTo(EIP-7702 保障最小信任)