EIP-7702
Stable 支持 EIP-7702,它允许 EOA 将其账户代码设置为现有的智能合约。EOA 保持其原始地址和私钥,同时执行委托的逻辑。
交易格式
EIP-7702 使用交易类型 0x04 和一个 authorizationList 字段。每次授权都指定一个委托合约,EOA 将为该交易执行该合约的代码。
{
type: 4,
to: eoa.address,
data: delegateCallData,
authorizationList: [signedAuthorization],
maxPriorityFeePerGas: 0n, // always 0 on Stable
// ... standard EIP-1559 fields
}授权包含:
chainId:必须与目标链匹配。address:委托合约地址。nonce:授权随机数(与交易随机数分开)。
支持 EIP-7702 的钱包和库会自动处理授权格式。
工具
- ethers.js:
wallet.signAuthorization({ chainId, address, nonce })生成已签名的授权,以便包含在authorizationList中。 - viem:使用
signAuthorization和walletClient,然后将结果传递给sendTransaction。 - Hardhat / Foundry:当您的工具链版本支持 Pectra 硬分叉时,标准的 EIP-7702 交易格式即可使用。
接下来推荐
- EIP-7702 概念:了解委托模型以及何时使用它。
- 账户抽象 (EIP-7702):逐步实施批量支付、消费限额和会话密钥。

