Skip to content

feat(adapters): implement 6 remaining EVM protocol adapters#8

Open
Patrick-Ehimen wants to merge 1 commit into
mainfrom
feat/remaining-evm-adapters
Open

feat(adapters): implement 6 remaining EVM protocol adapters#8
Patrick-Ehimen wants to merge 1 commit into
mainfrom
feat/remaining-evm-adapters

Conversation

@Patrick-Ehimen

Copy link
Copy Markdown
Member

Summary

  • Stargate V2OFTSent event; GUID (LZ V2 packet GUID) as correlation key; dest chain from LayerZero endpoint ID
  • CCTP V2DepositForBurn event; correlation key scoped to source chain (cctp:<chain>:<nonce>); mintRecipient right-unpacked from bytes32
  • HopTransferSent event; transferId as correlation key; sender not available in log (documented limitation)
  • ConnextXCalled event with nested dynamic TransferInfo struct; transferId as correlation key; sender/receiver from params.originSender / params.to
  • WormholeLogMessagePublished; VAA key (wormhole:<wh_chain>:<sender>:<sequence>) as correlation ID; dest chain is opaque payload (set to None)
  • AxelarContractCall event; payloadHash as correlation key; dest chain from Axelar chain name string

All adapters follow the ProtocolAdapter trait pattern established in PR #4, with enum dispatch in adapters/mod.rs.

Test Plan

  • 28 unit tests across all 6 adapters (cargo test -p indexer) — all passing
  • cargo clippy --workspace --all-targets -- -D warnings — clean
  • Pre-commit hook (cargo fmt --check + cargo clippy) — passed at commit time
  • Each test file covers: happy path, wrong topic → None, unknown dest chain → dest_chain: None, protocol-specific invariant (correlation ID format, amount encoding, etc.)

Adds Stargate V2, CCTP V2, Hop, Connext, Wormhole, and Axelar adapters
under indexer/src/adapters/, each with a unit test suite in adapters/tests/.

28 tests total, all passing; clippy clean with -D warnings.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant