feat: regenerate metadata#113
Conversation
n13
left a comment
There was a problem hiding this comment.
Review: Clean, low-risk metadata regeneration
This regenerates the checked-in Subxt bindings against runtime spec 131 (up from 127) and bumps the compatibility gate accordingly. CI is fully green (all 10 checks pass, including the Build & Test Matrix on Linux/macOS, Clippy, and Bugbot).
What changed
src/chain/quantus_subxt.rs— regenerated bindings (metadata validation hash, storage address hashes, doc comments, three structural changes).src/config/mod.rs— compatibility gatespec_version: 127 → 131(tx version stays2).src/quantus_metadata.scale— regenerated binary snapshot.
The three structural (non-doc) changes:
- MiningRewards gains a
TreasuryMintFailedevent (codec index 4). - Multisig
ProposalDatadrops thecall_weightfield. - ReversibleTransfers
ErrordropsRecovererCannotBeSelfandCallDecodingFailed, reindexing remaining variants.
Verification — does hand-written CLI code depend on the changed structures?
Checked the whole codebase for usages of the affected items; none of the breaking changes touch hand-written code:
call_weight: the multisig module reads proposals in several places (e.g.src/cli/multisig.rs:745,2102,2578) but only accesses.call.0/.depositetc. — nevercall_weight. Safe to drop.- Reversible error variants:
src/cli/reversible.rswraps failures in genericQuantusErrorstrings and never decodes error indices by hand, so the reindexing has no effect. TreasuryMintFailed/get_difficulty: no references outside the generated file — the new event needs no handling and theget_difficultychange is doc-only.- Compatibility gate: the only hardcoded version lives in
src/config/mod.rs; the README describes the gate generically with no stale version, and nothing else hardcodes127.
Verdict: Approve
The PR is mechanically generated and internally consistent — the storage-hash changes for Multisig::Proposals line up with the ProposalData layout change, the metadata validation hash is updated, and the version gate matches. No accompanying hand-written code changes are required, which the green build confirms.
Minor, non-blocking note: since this regen carries a real chain-breaking layout change (proposals/errors), anyone running an older CLI against spec 131 will now be correctly rejected by the gate rather than mis-decoding — the intended fail-early behavior.
Summary
Regenerate metadata
Note
Medium Risk
Metadata and compatibility gate changes affect all chain interactions; multisig proposal decoding and error indices changed, so tools must match spec 131 or they may mis-decode events and extrinsics.
Overview
Regenerates the checked-in Subxt bindings and bumps CLI runtime compatibility from spec 127 → 131 (transaction version still 2).
The generated
quantus_subxtsnapshot reflects upstream pallet changes: MiningRewards gains aTreasuryMintFailedevent (critical signal when treasury mint fails and reward is not issued), multisigProposalDatano longer includescall_weight, and ReversibleTransfers error variants are reindexed (e.g.RecovererCannotBeSelfandCallDecodingFailedremoved). Docs in the bindings now clarify that high-security mode stays permanent,recover_fundscan be called repeatedly, andget_difficultyis described as current mining difficulty. Metadata validation hashes and several storage address hashes were updated accordingly.Reviewed by Cursor Bugbot for commit fb4bd3e. Configure here.