Skip to content

Comments

feat(pipeline): index metaboard contract events in sync pipeline#2452

Draft
findolor wants to merge 1 commit intofindolor/rain-34-add-local-db-support-to-fetch_dotrain_sourcefrom
findolor/rain-53-index-metaboard-contract-events-in-the-sync-pipeline
Draft

feat(pipeline): index metaboard contract events in sync pipeline#2452
findolor wants to merge 1 commit intofindolor/rain-34-add-local-db-support-to-fetch_dotrain_sourcefrom
findolor/rain-53-index-metaboard-contract-events-in-the-sync-pipeline

Conversation

@findolor
Copy link
Collaborator

Summary

  • Add METABOARD_TOPICS constant and fetch_metaboard_events() to fetch MetaV1_2 logs from the metaboard contract (separate from the orderbook)
  • Extend EventsPipeline trait with fetch_metaboard method and add FetchingMetaboardLogs/DecodingMetaboardLogs sync phases
  • Thread metaboard_address: Option<Address> from YAML settings through ParsedRunnerSettingsbuild_runner_targetsSyncInputsSyncEngine
  • Metaboard event fetching runs concurrently (via tokio::join!) alongside store logs and token metadata resolution
  • Decoded metaboard events merge into the existing persistence path (no schema changes needed)

Test plan

  • cargo test passes in workspace
  • Manual test: configure YAML with a metaboards section containing a network-keyed metaboard address, run sync, verify meta_events table has entries sourced from the metaboard contract
  • Verify sync works correctly when no metaboard is configured (no-op path)

Fetch MetaV1_2 events from the metaboard contract address (separate
from the orderbook contract) and merge them into the existing decode
and persistence path. The metaboard address is threaded from YAML
settings through ParsedRunnerSettings → build_runner_targets →
SyncInputs → SyncEngine, where fetching runs concurrently with
store logs and token metadata resolution.
@findolor findolor changed the base branch from main to findolor/rain-34-add-local-db-support-to-fetch_dotrain_source February 10, 2026 16:35
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