Skip to content

Conversation

@shiyasmohd
Copy link
Contributor

Remove dependency on common crate from all extractors (evm-rpc, firehose, solana)
by moving shared types and utilities to datasets-raw.

Changes:

  • Move EVM table schemas (blocks.rs, logs.rs) from common to datasets-raw
  • Move arrow_helpers.rs with array builders to datasets-raw
  • Move provider.rs from common to evm-rpc extractor
  • Add primitive types (BoxError, Bytes32, EvmAddress, etc.) to datasets-raw
  • Update all extractor imports to use datasets-raw instead of common
  • Remove common dependency from evm-rpc, firehose, and solana Cargo.toml

@shiyasmohd shiyasmohd self-assigned this Jan 22, 2026
@shiyasmohd shiyasmohd requested a review from LNSD January 22, 2026 13:28
@LNSD
Copy link
Contributor

LNSD commented Jan 22, 2026

The resulting dependency graph (common crate's dependencies):

amp-workspace-deps

Copy link
Contributor

@LNSD LNSD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The goal of this refactoring is to break the dependency on common, and the outcome should also add value in terms of organization.

Please check my comments. And check whether there are any other similar pieces of code that need to be moved into the "chain-specific" raw datasets modules.

As a rule of thumb:

  • Specific to one extractor: keep it in the extractor crate.
  • Common to different extractors (same chain technlogy, e.g., evm): Move it to raw_datasets::evm::*.
  • Common to all extractors: raw_datasets::<specific-module>::* (e.g., arrow helpers in raw_datasets::arrow::*).
  • Common to all datasets: datasets_common crate.

@shiyasmohd shiyasmohd force-pushed the shiyasmohd/decouple-extractors-from-common branch from 7cc0713 to fc1bb15 Compare January 23, 2026 12:20
@shiyasmohd shiyasmohd requested a review from LNSD January 23, 2026 12:30
Copy link
Contributor

@LNSD LNSD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking much better 😁

I have detected some minor issues. Can you check my comments?

@shiyasmohd shiyasmohd force-pushed the shiyasmohd/decouple-extractors-from-common branch 2 times, most recently from 9a4c7b2 to 9420000 Compare January 23, 2026 14:00
@shiyasmohd shiyasmohd force-pushed the shiyasmohd/decouple-extractors-from-common branch from 9420000 to f8f645b Compare January 23, 2026 14:32
Copy link
Contributor

@LNSD LNSD left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM ✅

@shiyasmohd shiyasmohd merged commit 5bd6f7b into main Jan 23, 2026
8 checks passed
@shiyasmohd shiyasmohd deleted the shiyasmohd/decouple-extractors-from-common branch January 23, 2026 17:39
cmwhited pushed a commit that referenced this pull request Jan 23, 2026
* refactor(extractors): decouple extractors from common crate

* refactor(datasets-raw): remove BoxError and BoxResult type aliases
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.

3 participants