v0.1.2.2
Release date: 2026-07-07
Highlights
- Fixed a PRISM audit verifier regression that could reject valid live-chain block candidates with
invalid type: floating point ..., expected u128when audit bundles contained testnet-scale difficulty and share-weight integers. - Restored legacy/full audit bundle verification and canonicalization by deserializing full bundles directly into the typed
AuditBundlemodel instead of routing them throughserde_json::Value. - Preserved compact body-ref and
qbit.prism.audit-bundle.v2reconstruction for external audit-body storage while enabling arbitrary-precision JSON numbers for largeu128fields. - Added live-scale regression coverage for
qbit-prism-audit-verifyandqbit-prism-audit-canonicalizeacross both legacy full bundles and compact body-ref bundles. - Verified the fix on the deployed testnet4 PRISM pool image with a synthetic live-scale audit bundle; verification now reaches the expected coinbase comparison instead of failing JSON parsing.
Operator Notes
- This release is recommended for all PRISM operators on
v0.1.2.1, especially pools using direct PRISM Stratum against public testnet or any chain where scaled difficulty values exceedu64::MAX. - No configuration or database migration is required.
- Upgrade before relying on PRISM block candidate acceptance from
v0.1.2.1; the previous release could accept shares but reject found block candidates before persistence orsubmitblock. - After upgrading, run
make prism-self-checkand monitorqbit_prism_blocks_accepted_total,qbit_prism_persisted_blocks, and coordinator logs forqbit-prism-audit-verify failed. - Existing public dashboard API responses, direct coinbase settlement artifacts, compact audit body refs, and CTV fanout storage remain compatible.