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

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