Skip to content

Conversation

@LNSD
Copy link
Contributor

@LNSD LNSD commented Jan 21, 2026

Extract block streaming functionality into datasets-raw crate to improve separation of concerns and reduce common crate's scope.

  • Move BlockStreamer and BlockStreamerExt traits from common to datasets-raw::client
  • Add Rows and TableRows types with typed error enums
  • Replace BoxError with TableRowError and CheckInvariantsError
  • Update all extractors to use new module paths

Note

Separates raw data extraction concerns and tightens type safety across the codebase.

  • Introduces datasets-raw with client::{BlockStreamer, BlockStreamerExt} (moved from common) and a retry wrapper; updates dataset-store, dump, and all extractors to use it
  • Adds datasets-raw::rows::{Rows, TableRows} with invariant checks and typed errors (TableRowError, CheckInvariantsError); replaces common::RawTableRows
  • Moves BlockRange to datasets-common::block_range and adjusts imports; simplifies common exports and updates Watermark construction (From<&BlockRange>)
  • Refactors EVM/Solana/Firehose table builders to return TableRows; updates streaming/compaction/parquet writers to use new types
  • Updates Cargo dependencies to include datasets-raw and new datasets-common usage; minor API renames (e.g., public BlockStreamClient) and test/import fixes

Written by Cursor Bugbot for commit 6b103a0. This will update automatically on new commits. Configure here.

@LNSD LNSD requested review from Theodus, leoyvens and sistemd January 21, 2026 17:18
@LNSD LNSD self-assigned this Jan 21, 2026
Extract block streaming functionality into datasets-raw crate to improve separation of concerns and reduce common crate's scope.

- Move `BlockStreamer` and `BlockStreamerExt` traits from `common` to `datasets-raw::client`
- Add `Rows` and `TableRows` types with typed error enums
- Replace `BoxError` with `TableRowError` and `CheckInvariantsError`
- Update all extractors to use new module paths

Signed-off-by: Lorenzo Delgado <lorenzo@edgeandnode.com>
@LNSD LNSD force-pushed the lnsd/refactor-datasets-raw-extractors-tentacle branch from dbfabf1 to a6e0aeb Compare January 21, 2026 19:53
@LNSD LNSD marked this pull request as ready for review January 21, 2026 19:53
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.

This PR is being reviewed by Cursor Bugbot

Details

Your team is on the Bugbot Free tier. On this plan, Bugbot will review limited PRs each billing cycle for each member of your team.

To receive Bugbot reviews on all of your PRs, visit the Cursor dashboard to activate Pro and start your 14-day free trial.

Copy link
Member

@Theodus Theodus left a comment

Choose a reason for hiding this comment

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

LGTM

Remove dead code that provides no value over struct literal syntax since all fields are public.

- Constructor had zero usage across entire codebase
- All existing code uses struct literals directly
- No validation or transformation logic in constructor
- Simplifies API by eliminating redundant construction method

Signed-off-by: Lorenzo Delgado <lorenzo@edgeandnode.com>
@LNSD LNSD merged commit 6d8aa5b into main Jan 21, 2026
9 checks passed
@LNSD LNSD deleted the lnsd/refactor-datasets-raw-extractors-tentacle branch January 21, 2026 20:46
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