Skip to content

fix: rollback prover db indexer - #218

Merged
JayWhite2357 merged 8 commits into
mainfrom
fix/rollback-prover-db-indexer
Sep 28, 2026
Merged

JayWhite2357 merged 8 commits into
mainfrom
fix/rollback-prover-db-indexer

Conversation

@JayWhite2357

@JayWhite2357 JayWhite2357 commented Sep 17, 2026 •

Copy link
Copy Markdown
Contributor

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 6e668a97b5ffad477aa44318475ab381c4312524..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 DBEvents (#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

@JayWhite2357
JayWhite2357 requested review from a team as code owners September 17, 2026 16:04
@github-actions

github-actions Bot commented Sep 17, 2026 •

Copy link
Copy Markdown

1.70.0

Bug Fixes

  • default prover-db indexer to disabled unless explicitly enabled (360803d
  • fallback to client hash when is missing (95794da
  • make on chain indexer keys saturate rather than default to (5f794de
  • rollback to git commit hash 6e668a9 (3d9b9d4
  • 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
  • adds (a5b581d
  • Document Snapshot Download Process (4c2608b
  • drop from prover_db_indexer (b3381c5
  • register client externality to offchain worker (338c213
  • use client for (6679c06
  • use generic key value config for prover_db_indexing instead of storage/CLI based config (faff564

@JayWhite2357 JayWhite2357 changed the title fix: rollback prover db indexer fix!: rollback prover db indexer Sep 17, 2026
@JayWhite2357 JayWhite2357 changed the title fix!: rollback prover db indexer fix: rollback prover db indexer Sep 17, 2026
Comment thread rust-toolchain.toml Outdated
Comment thread CHANGELOG.md
Comment thread sxt-core/src/prover_db_indexer.rs Outdated
Comment thread node/src/service.rs Outdated
Comment thread node/src/cli.rs Outdated
via
```
git rm -r --ignore-unmatch .
git checkout 6e668a9 -- .
```
cherry picked via git cherry-pick -m 1 --no-commit 4fa4307

Include trusted partner bootnodes in addition to SxT managed ones.

In the interest of strengthening the decentralization of the SXT
network, we want a wider variety of bootnodes that are not all hosted by
SxT.

Simple documentation change to include a list of node addresses that
have been tested as bootnodes.

Yes. Though the change is just a documentation change, each bootnode in
the list was listed as the sole bootnode that a new node joining the
network would use to start syncing blocks. In each case, the new node
was able to successfully start syncing blocks.
cherry picked via `git cherry-pick -m 1 --no-commit 2438ebd`

Required so clients (Polkadot.JS Apps, subxt, block explorers) refresh
their cached metadata after the prover-db-indexer pallet was wired into
construct_runtime!. Without the bump, the new pallet is invisible to
tools that key metadata by spec_version even though setCode succeeds.

# Rationale for this change

<!--
Why are you proposing this change? Explaining clearly why changes are
proposed helps reviewers
understand your changes and offer better suggestions for fixes.

Please delete this comment as this will be part of the merge commit
message -->

# What changes are included in this PR?

<!--
It is often worth providing a summary of the individual changes in this
PR.

Please delete this comment as this will be part of the merge commit
message -->

# Are these changes tested?

<!--
We typically require tests for all PRs in order to:
1. Prevent the code from being accidentally broken by subsequent changes
2. Serve as another way to document the expected behavior of the code

If tests are not included in your PR, please explain why (for example,
are they covered by existing tests)?

Please delete this comment as this will be part of the merge commit
message -->
cherry picked via `git cherry-pick -m 1 --no-commit 29a860c`

# Rationale for this change
Recent changes to the node have added additional functionality for
off-chain-workers (in the runtime) that can be configured using the node
CLI.

# What changes are included in this PR?
This change bumps the node version in accordance with the new CLI
feature.

# Are these changes tested?
These changes do not affect existing functionality, which should be
verified by existing tests.
cherry picked via `git cherry-pick -m 1 --no-commit e5ab065`

# Rationale for this change
This was needed to compile ssl libraries inside a more barebones docker
image `nixos/nix`.

# What changes are included in this PR?
Adds `perl` to the nix shell's build inputs.

# Are these changes tested?
These changes do not affect existing functionality, which should be
verified by existing tests.
@JayWhite2357
JayWhite2357 force-pushed the fix/rollback-prover-db-indexer branch from 99521eb to a6edf42 Compare September 23, 2026 15:17
cherry picked via `git cherry-pick -m 1 --no-commit 7e50538`

Bringing up a new node from genesis can be time consuming and
unreliable. We document a new approach using snapshots here.

Documentation changes only.

The documented process has been tested extensively in a Kubernetes
environment.
cherry picked via git cherry-pick -m 1 --no-commit 6f5c284

The motivation behind this is that the rust-analyzer extension in VSCode requests this
@JayWhite2357
JayWhite2357 force-pushed the fix/rollback-prover-db-indexer branch from a6edf42 to cf62398 Compare September 23, 2026 15:19
@JayWhite2357
JayWhite2357 merged commit fb5eadc into main Sep 28, 2026
9 checks passed
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