Skip to content

refactor: use idiomatic snafu in prover_db_indexer - #213

Merged
JayWhite2357 merged 1 commit into
mainfrom
feat/lib-snafu-idiomatic
Aug 3, 2026
Merged

JayWhite2357 merged 1 commit into
mainfrom
feat/lib-snafu-idiomatic

Conversation

@JayWhite2357

@JayWhite2357 JayWhite2357 commented Jul 31, 2026 •

Copy link
Copy Markdown
Contributor

Rationale for this change

We should use snafu in the manner it was intended.

What changes are included in this PR?

  • context is used instead of map_err
  • fields of the error varients are named source rather than error

Are these changes tested?

This is a pure refactoring PR.

@JayWhite2357
JayWhite2357 requested review from a team as code owners July 31, 2026 00:03
@github-actions

Copy link
Copy Markdown

1.70.0

Bug Fixes

  • make on chain indexer keys saturate rather than default to (5f794de
  • use finalized block in prover-db-indexer (50438ab

Features

  • add helper that queries the client for s. (4fc3952
  • add client native interface and extenality (d9c6c4d
  • add generic config key-value store for offchain workers (117b845
  • Document Snapshot Download Process (4c2608b
  • register client externality to offchain worker (338c213
  • use generic key value config for prover_db_indexing instead of storage/CLI based config (faff564

@JayWhite2357 JayWhite2357 changed the title refactor: use idiomatic snafu context/ensure in prover_db_indexer refactor: use idiomatic snafu in prover_db_indexer Aug 3, 2026

@tlovell-sxt tlovell-sxt left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Not against this. If we ever transition back to thiserror I suppose keeping map_err would be a slightly smaller diff? maybe? not a big deal

@JayWhite2357

Copy link
Copy Markdown
Contributor Author

Not against this. If we ever transition back to thiserror I suppose keeping map_err would be a slightly smaller diff? maybe? not a big deal

I've thought about that. But, I don't know if we'll do that any time soon.

@JayWhite2357
JayWhite2357 force-pushed the feat/lib-snafu-idiomatic branch from 44250d0 to 370db18 Compare August 3, 2026 18:36
@JayWhite2357
JayWhite2357 force-pushed the feat/lib-snafu-idiomatic branch from 370db18 to eaf3141 Compare August 3, 2026 18:38
@JayWhite2357
JayWhite2357 enabled auto-merge August 3, 2026 18:38
@JayWhite2357
JayWhite2357 merged commit 1a3fba7 into main Aug 3, 2026
9 checks passed
JayWhite2357 added a commit that referenced this pull request Sep 28, 2026
# Rationale for this change

The prover-db-indexer implementation in this repo has flaws that are not
solvable because of the limitations of polkadot. Instead, we are
switching to a non-OCW based solution.

# What changes are included in this PR?

This PR rolls back to commit 6e668a9 in
the first commit, which rolls back to right before the first PR on the
prover-db-indexer, and then cherry picks some of the PRs.

Lastly, a commit is added to bump both the spec version and the node
version to force a new version and avoid any issues with versioning.

The best way to view this PR is to verify that the first commit does, in
fact, rollback, and then looking at the following commits, which are
very small.

The net effect of the following commits is just version bumps,
documentation, and CI, so this is nearly a pure rollback.



The full list of PRs since 6e668a9 can
be viewed with
```
$ git log 6e668a9..main --oneline --no-decorate --grep='(#[0-9]\+)$'
```
2443e99 fix: default prover-db indexer to disabled unless explicitly
enabled (#216)
57ab735 fix: fallback to client hash when `BlockHash` is missing (#215)
d2eff84 chore: drop old `prover_db_indexer` code (#214)
70bc510 feat: use client for prover-db-indexing (#212)
1a3fba7 refactor: use idiomatic `snafu` in `prover_db_indexer` (#213)
0b683b6 refactor: switch `db_events` to concrete `native_api::Api`
instance (#211)
21a49d5 feat: use generic key value config for `prover_db_indexing`
(#209)
4b79e05 fix: use finalized block in prover-db-indexer (#210)
5fd2f26 feat: add generic config key-value store for offchain workers
(#208)
96180b4 feat: add `db_events_at` helper that queries the client for
`DBEvent`s (#207)
8026671 feat: add client externality to offchain worker (#206)
2481b17 refactor: tidy `prover_db_indexer` (#204)
2c2a8ca fix: make on chain indexer keys saturate rather than default to
`0` (#203)
8634d18 refactor: address clippy allowances in prover_db_indexer (#200)
CHERRY-PICKED: 7e50538 Document Snapshot Downloads (#199)
CHERRY-PICKED: e5ab065 build: add perl as a nix buildInput (#197)
CHERRY-PICKED: 29a860c build: bump node version to 1.4.0 (#196)
f8b94d4 chore: measure weights for pallet-tables and pallet-indexing
(#194)
CHERRY-PICKED: 2438ebd chore(runtime): bump spec_version 249 -> 250
(#195)
ab1cf7f feat: add configurable include set to gate captured tables
(#193)
ec1d24c feat: Add OCW consumer that drains and forwards events (#192)
617f4ef feat: add http client for prover db indexer (#190)
dbd13dd feat: prover db indexer producer (#187)
CHERRY-PICKED: 4fa4307 docs: Update Bootnode List (#189)
066b719 feat: configure prover_db_url from CLI and into local storage
(#186)

# Are these changes tested?

NA
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.

2 participants