smithery/neversight

eip-7702

Expert guide for EIP-7702 implementation, implementing sponsored transactions, creating delegated smart contracts, and interacting via Viem v2.

Installation

$ npx skills add smithery/neversight --skill eip-7702

Summary

  • Expert guide for EIP-7702 implementation, implementing sponsored transactions, creating delegated smart contracts, and interacting via Viem v2.
  • Use when needing to implement `gasless` token transfers via EIP-7702, create batching contracts, or understand the EIP-7702 transaction flow with Viem.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from smithery/neversight · top by installs.

npx skills add smithery/neversight

Browse all from smithery/neversight

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 2,495 B
  • docs SUMMARY.md 311 B

History

  1. First recorded snapshot · 0 installs

SKILL.md

EIP-7702 Implementation Guide

Overview

EIP-7702 enables Externally Owned Accounts (EOAs) to temporarily delegate their code to a smart contract during a transaction. This allows EOAs to function as smart contracts, enabling features like:

  • Sponsored Transactions: A relayer pays gas for the EOA.
  • Batching: Multiple operations in one atomic transaction.
  • Key Rotation/Recovery: Programmable access control.

1. Smart Contract Development

To use EIP-7702, you need an implementation contract. This contract will be the code that the EOA "borrows".

Key Requirement: The contract must handle authentication (ensure the EOA signed the intent) and replay protection (nonce), as the EIP-7702 authorization only delegates code, it doesn't inherently validate the payload of the function call if anyone can call it.

Reference Implementation

A robust example supporting Batching and Sponsorship is available in assets/BatchCallAndSponsor.sol.

Features:

  • execute(calls, signature): For sponsored transactions. Requires an inner signature from the EOA verifying the batch and nonce.
  • execute(calls): For direct execution (when msg.sender == address(this)).

2. Testing with Foundry

Foundry supports EIP-7702 via the prague EVM version and specific cheatcodes.

Key Cheatcodes:

  • signDelegation: Creates the EIP-7702 authorization signature.
  • attachDelegation: Attaches the authorization to the next transaction.

See [Foundry Guide](references/foundry-guide.md) for detailed test patterns and configuration. See assets/test/BatchCallAndSponsor.t.sol for a complete test suite.

3. Client Interaction (Viem v2)

Viem v2 provides first-class support for EIP-7702 via signAuthorization and sendTransaction/writeContract with authorizationList.

Best Practices:

  • Use writeContract with strongly typed ABIs (as const) for safer interactions.
  • Ensure correct signing of raw hashes using signMessage({ message: { raw: ... } }).
  • No experimental extensions are required in modern Viem versions.

See [Viem Guide](references/viem-guide.md) for code snippets and TypeScript patterns.