Skip to content

[FEATURE] Implement Viem-based custom client for ADR-0003: Typed Transaction 0x76 Sponsorship #109

@randygrok

Description

@randygrok

Is your feature request related to a problem? Please describe.

Currently, there is no user-facing client implementation to construct, sponsor, and broadcast EIP-2718 typed transactions of type 0x76 (as proposed in ADR-0003: Typed Transactions for Sponsorship and Batch Calls). Without a reference client, developers and integrators cannot easily generate or sign these sponsored transactions, making the sponsorship mechanism and batch calls in ADR-0003 hard to adopt and test.

Describe the solution you'd like

Build a custom client for the EvNode 0x76 transaction type, following the architecture and recommendations in ADR-0003 (docs/adr/ADR-0003-typed-transactions-sponsorship.md):

  • Use the Viem JavaScript/TypeScript library and its custom client pattern.
  • The client must:
    • Construct 0x76 typed transactions according to the spec (encoding, two signatures, batch call support).
    • Support both executor and sponsor signing flows (as described in the "Sponsorship Flow" of the ADR).
    • Produce and broadcast valid 0x76 transactions, properly RLP-encoded as specified.
    • Validate signatures and expose utility methods (recover executor/sponsor, check ready-to-broadcast, etc.)
    • Provide TypeScript typings and examples for usage.
  • Follow the reference workflow and considerations in the ADR and ensure compatibility with the node-side implementation.

Additional context

  • See docs/adr/ADR-0003-typed-transactions-sponsorship.md for encoding, signing, and architecture details.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions