Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

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:授权 nonce(与交易 nonce 分开)。

支持 EIP-7702 的钱包和库会自动处理授权格式。

工具链

  • ethers.jswallet.signAuthorization({ chainId, address, nonce }) 生成已签名的授权,用于包含在 authorizationList 中。
  • viem:使用带有 walletClient 的 signAuthorization,然后将结果传递给 sendTransaction
  • Hardhat / Foundry:当你的工具链版本支持 Pectra 硬分叉时,标准的 EIP-7702 交易格式即可使用。

后续推荐