fix: adopt current People proof contexts - #587
Open
pgherveou wants to merge 4 commits into
Open
Conversation
pgherveou
marked this pull request as ready for review
September 3, 2026 10:47
pgherveou
force-pushed
the
fix/current-proof-contexts
branch
from
September 3, 2026 10:51
e4de217 to
cd342e4
Compare
Proofs must include the live network suffix or the People runtime rejects them as BadProof.
Remove legacy LTS and PGAS contexts and scope every proof family by the live network suffix. Follow the generation-prefixed Asset Hub ring-root layout used by current mobile clients and runtime.
pgherveou
force-pushed
the
fix/current-proof-contexts
branch
from
September 3, 2026 12:27
cd342e4 to
01a9321
Compare
TarikGul
reviewed
Sep 3, 2026
TarikGul
reviewed
Sep 3, 2026
TarikGul
reviewed
Sep 3, 2026
TarikGul
reviewed
Sep 3, 2026
TarikGul
reviewed
Sep 3, 2026
TarikGul
reviewed
Sep 3, 2026
TarikGul
approved these changes
Sep 3, 2026
TarikGul
left a comment
Member
There was a problem hiding this comment.
Approving to not be a blocker
Address review on #587. `read_current_generation` gates on the runtime declaring `MembersSubscriber.CurrentGeneration` before treating an absent value as the `ValueQuery` default, so a renamed pallet or item is named instead of reading as generation 0, and decodes with `decode_all`, so an entry that stops being a bare `u32` fails here rather than yielding the first four bytes of another layout. Either way the failure would otherwise be a key nothing answers and a wait that can only time out. `await_ring_revision` re-reads the generation each poll. A rebuild landing during the wait is what the loop waits through, and a generation read once up front would key every remaining poll at a generation the roots have left. `method_keyed_responses` panics when a method's scripted answers run out instead of replaying the last one, so a script that answers fewer calls than the code makes fails rather than feeding one read's response to another. The Asset Hub fixture is recaptured at spec 3000000, which is what declares `CurrentGeneration`, and the fixtures README records the generation the committed ring-roots value is addressed under. Pins the fourth statement-slot context vector iOS carries, family 2 at period 0 seq 0, where every suffix field is already zero and an offset slip would hide.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Statement-store allowance renewal was rejected by the deployed People-chain runtime with
Invalid Transaction (1010). The host used legacy proof contexts and the old two-keyRingRootsstorage layout, while the deployed runtime and both mobile clients use product-scoped contexts, the live network suffix, the current generation, and the three-key ring-root layout.Solution
product/peoplcontext derivation for statement, long-term-secret, and proof-of-gas allowances.CurrentGenerationand the deployed three-keyMembersSubscriber.RingRootslayout.Mobile implementation PRs
This PR is stacked on #571.