Skip to content

[Milestone 3] Multi-Protocol Expansion #37

@Patrick-Ehimen

Description

@Patrick-Ehimen

Parent Issue #34

Goal

Add decoders for Wormhole, Axelar, and Chainlink CCIP. All four protocols indexed into the same unified schema.

Tasks

  • Implement Wormhole decoder (LogMessagePublished, TransferRedeemed) with (emitterChain, emitterAddr, sequence) correlation
  • Implement Axelar decoder (ContractCall, ContractCallApproved, Executed) with commandId correlation
  • Implement CCIP decoder (CCIPSendRequested, ExecutionStateChanged) with messageId correlation
  • Map Wormhole chain IDs and CCIP chain selectors to standard EVM chain IDs
  • Map Axelar chain name strings to chain IDs
  • Refactor to decoder registry pattern: register all decoders via Decoder interface
  • Verify unified schema consistency across all 4 protocols
  • Unit tests for each new decoder with sample encoded events
  • Cross-protocol integration test: index from all 4 protocols, verify unified output
  • Regression tests ensuring LayerZero decoder is unaffected

Deliverables

  • Working decoders for Wormhole, Axelar, and CCIP
  • Decoder registry with clean plugin interface
  • All 4 protocols indexing and correlating messages correctly
  • Unified messages queryable in PostgreSQL regardless of protocol
  • Per-protocol Parquet archives on Akave O3

Acceptance Criteria

  • Each decoder correctly parses at least 3 sample events (unit tested)
  • Indexer with all 4 protocols enabled indexes messages from each
  • Cross-chain correlation works for all protocols: source + destination linked, status updated
  • Adding a new decoder requires only implementing Decoder interface and registering it
  • All tests pass, no regressions in existing functionality

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions