ERC-7988 最小头像钱包:普通地址签名一次,批量动作按同一地址执行 图 1
ERC-7988 最小头像钱包:普通地址签名一次,批量动作按同一地址执行 · 图 1

ERC-7988 最小头像钱包:普通地址签名一次,批量动作按同一地址执行

智能账户的一大 adoption 障碍是迁移:要换个地址、重新配置一堆合约交互,老地址的历史资产还要搬运。ERC-7988 的 Minimal Avatar Smart Wallet(MASW)走”原地升级”路线:地址不动,代码外挂。按以太坊 ercs 仓库的记录,这份提案状态为 Draft,创建于 2025 年 7 月 8 日,依赖 EIP-7702 的 0x04 交易类型。

三步装配:部署、指定、生效

流程分三步。第一步,MASW 合约以你的外部账户地址为 owner 参数完成部署;第二步,你自己发一笔 EIP-7702 交易(txType 0x04),把这段代码绑定到自己地址上;第三步之后,每笔交易都先执行 MASW 的逻辑——此刻你的地址是 avatar(头像),MASW 代码作为 delegate 在同一个地址上运行,直至你发出新的 0x04 交易清除或替换绑定。值得注意的措辞是 immutable:MASW 本体设计为不可变委托代码,能力扩展不靠升级主合约,而是靠下面两个插槽。

ERC-7988 最小头像钱包:普通地址签名一次,批量动作按同一地址执行 图 2
ERC-7988 最小头像钱包:普通地址签名一次,批量动作按同一地址执行 · 图 2

executeBatch 的七个参数各管一段

主函数只有一个 executeBatch,参数表恰好七项,标准甚至说”标准化这七参数 ABI”就是提案的目的——终结各家钱包批量接口的碎片化。targets、values、calldatas 三个数组描述一串待执行调用,天然原子:一笔交易里批量授权、批量转账一次签名完成。token 与 fee 两项服务赞助场景:第三方代付 gas 时,可按以太币或指定 ERC-20 从执行者余额收取补偿。expiry 给整个批量动作设截止时间。最后的 signature 是 EIP-712 结构化签名,类型哈希里打包了全部执行参数与一个全局 metaNonce。防重放由此三线并进:metaNonce 单调递增使旧签名作废,expiry 让过期批次自动失效,EIP-712 域分隔符把签名钉死在本链本合约——跨链重放一条都不剩。每次成功执行发 BatchExecuted,记录结构化哈希。

两个插槽:Policy 与 Recovery

存储布局刻意极简:slot 0 放 metaNonce,slot 1 是重入锁,slot 2 与 slot 3 分别留给可选的 Policy Module 与 Recovery Module,owner 与域分隔符做成 immutable 不占槽。Policy 模块在每笔批量前后各插一道钩子(preCheck 与 postCheck),装或不装由 setPolicyModule 决定,变更发 ModuleChanged;Recovery 模块则允许配置一条备用签名验证路径,isValidSignature 在正常签名之外咨询它——相当于给”主设备丢了”预置一个协议层出口,而非依赖客服。模块为零地址即不启用,一切回到最小七参数流程。

理解这种形态的两条边界

一次批量 NFT 操作的完整签名体验

把七参数接口落到一个熟悉场景:用户想在一笔交易里完成mintNFT加挂单出售。传统路径里他签两次、发两笔交易、付两份 base fee,还可能因为两笔之间的价格变动而挂出一个低于成本的卖单。MASW 路径下客户端把两个调用填进 targets、values、calldatas 三个数组,token 填零表示不需要 ERC-20 形式的手续费补偿、fee 填零,expiry 设成未来某时间戳,本地组装 EIP-712 结构、把当前 metaNonce 编进 payload,用户设备签名一次,聚合器或 relayer 提交 executeBatch:两个动作在同一地址、同一原子执行里按序发生,失败则整批回滚,BatchExecuted 留下结构化哈希供事后核对。若部署方启用了 Recovery 模块,签名验证走主私钥与备用路径二选一,isValidSignature 让链下验签逻辑与链上校验保持同一口径;Policy 模块则可在 preCheck 里挡掉超出额度的 calldata,比如拒绝任何指向某个黑名单合约的目标。值得提醒的是赞助模式的账本形态:fee 非零时 relayer 代付 gas、按 token 计价从执行者的 ERC-20 余额扣补偿,用户看到的账单是代币而不是 ETH,这类”以币代 gas”的定价完全由部署方自定,签约前读一遍 fee 字段与 token 地址仍是新手不可省略的半步。

第一,委托状态可撤销但窗口真实存在:0x04 绑定随你的私钥走,控制私钥即控制头像与代码的组合,标准不提供撤销后的追溯保护,安全边界仍是你自己的签名密钥。第二,它解决的是账户形态问题,不是资产种类问题——批量授权 NFT、批量mint在能力上与其他智能账户方案同级,风险面同样来自签名内容本身:对着一份不理解的 executeBatch 负载签字,多签结构也救不了你。Draft 状态的接口仍可能调整,接入前以合约实现为准。本文为机制说明,不构成任何投资建议。