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

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

工具

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

接下来推荐