Architecture Design

This document explains the high-level architecture of MetaTx-Contracts, the main components and how they interact.

Components

  • MetaTxGateway

    • Gateway that receives signed meta-transaction batches from users (via relayers). Verifies EIP-712 signatures, enforces nonces/deadlines, executes batched calls, validates native token amounts and issues refunds.

  • GasCreditVault

    • Optional component for relayer credit management. Users or services deposit credits (multi-token) which relayers can consume to cover gas costs.

  • DI Token & Token Ecosystem

    • ERC20-based DI token, staking, presale, allocation contracts. Used for governance, staking rewards and incentives.

  • Relayers

    • Off-chain services that collect signed meta-transaction batches and submit transactions to MetaTxGateway. Relayers must be authorized by the gateway owner.

  • Frontend / Wallets

    • User interfaces and wallets produce EIP-712 signatures for batch payloads and interact with relayers.

Data Flow (simplified)

flowchart LR
  U[User Wallet] -->|signs EIP-712| R[Relayer]
  R -->|submit tx + msg.value| G[MetaTxGateway]
  G -->|executes| T1[Target Contract A]
  G -->|executes| T2[Token Contract B]
  G -->|refunds unused ETH| U
  R -->|consume credits| V[GasCreditVault]

Design principles

  • Security-first: signature, nonce and deadline checks, reentrancy protection, owner controls for relayers and upgrades.

  • Minimal on-chain complexity: heavy work (batch building, retries) is performed off-chain by relayers.

  • Composability: any contract can be the target of meta-transactions.

  • Gas efficiency: batch execution reduces overall cost per action.

Deployment and Upgrade Patterns

  • Use UUPS proxy for upgradability (see Upgrade Strategies).

  • Keep logic contract minimal and move complex state/migration logic to dedicated modules when needed.

  • Always include migration tests and verification steps when upgrading.

Operational notes

  • Monitor authorized relayers list and pause gateway in emergencies.

  • Keep treasury/guard contracts funded to support refunds and emergency operations.

Last updated