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은 EOA가 계정 코드를 기존 스마트 계약으로 설정할 수 있도록 하는 EIP-7702를 지원합니다. EOA는 위임자의 로직을 실행하는 동안 원래 주소와 개인 키를 유지합니다.

트랜잭션 형식

EIP-7702는 authorizationList 필드가 있는 트랜잭션 유형 0x04를 사용합니다. 각 권한 부여는 해당 트랜잭션에 대해 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 트랜잭션 형식이 작동합니다.

다음 권장 사항