Skip to content

v0.52.0

Latest

Choose a tag to compare

@mswilkison mswilkison released this 06 Oct 15:11
4c0a385

v0.52.0

This release adds the rebate-staking history needed by Explorer, records the treasury fee divisor in force at each deposit reveal, and retires legacy economic operator-staking fields. It also guards remaining mapping contract calls so reverted enrichment reads do not halt indexing.

Changes

  • #22: guard mapping contract calls and enforce guarded access in CI; preserve DKG event counts when enrichment calls revert.
  • #23: record nullable Deposit.treasuryFeeDivisorAtReveal from ordered initialization/governance events. Zero is known disabled fees; null is unknown history.
  • #24: add RebateStaker, RebateStakingEvent, and RebateStakingStats. T balances use 18 decimals, rebates use satoshis, and pending unstaking remains included until finalization.
  • #25: index registration independently of legacy token stake; expose application operator identities and reported authorization weights. Remove retired operator stake balances/roles and obsolete aggregate stake counters; retain wallet/group public keys, rewards, and raw fault telemetry.
  • #26: refresh patched brace-expansion releases and enforce a reviewed braces depth-guard backport in the Node build/deploy toolchain. The version-only OSV exception applies to one locally patched advisory and expires 2026-11-04.

Compatibility and rollout

The operator schema changes are breaking. Consult docs/operator-staking-retirement.md for removed fields and replacements. Preserve the previous published deployment for historical stake queries and rollback. This version requires a full re-sync; no graft is configured.

Deploy and sync, publish, validate the deployment-pinned gateway, update and verify the production API proxy, and only then release Explorer PR tlabs-xyz/threshold-dapp#453. Explorer cleanup #454 removes an unused query and preserves the active wallet fallback. A frontend/subgraph rollback must preserve schema compatibility.

Validation

The combined mapping changes passed code generation, mainnet and Sepolia builds, 17 mapping tests, and 97 Node regression/toolchain tests before the dependency follow-up. The follow-up adds seven security checks, passed the same build/mapping gates, and passed the full configured OSV scan. The unfiltered audit still identifies the source-patched braces package by version.

Production evidence

  • Annotated tag v0.52.0 points to 4c0a3858513c6973f6ee3aa969eda0db2b83e56a.
  • Release checks and Studio deployment succeeded; production approval was granted by piotr-roslaniec.
  • Studio deployment completed at 2026-10-05 07:09:46 UTC with deployment ID QmQQQ5hHWPfFC77zzMgWJSq7MbW8ctumDxnChGoi1yAdr5.
  • Studio fully synced and prepublication validation passed on October 6: seven same-block staker balance/pending comparisons, five rebate receipt comparisons, six earliest/recent deposit fee-divisor comparisons, and preserved wallet keys. Independent indexed-history replay reconciled all 50 stakers and 583 events.
  • Published on Arbitrum One on October 6. The deployment-pinned gateway passed the full smoke check before cutover.
  • Production now serves v0.52.0 through https://api.threshold.network/subgraph/mainnet, with cache namespace subgraph-v0.52.0-20261006. The exact pre-cutover ordinary query returned the new deployment on both MISS and HIT. Full production smoke passed at Ethereum block 26,134,128 with no indexing errors, canonical-block checks, seven staker balance/pending comparisons, five rebate receipts, six deposit fee-divisor comparisons, operator schema, and preserved wallet keys.
  • Published v0.51.0, deployment QmY5pJqTSL4iTJMHu7cU5AFzzY3kHyXbjcqEr9db6wXeE7, and its protected pinned gateway are retained for rollback. Any rollback must use a fresh cache namespace and account for frontend schema compatibility.
  • The dependent frontend PR tlabs-xyz/threshold-dapp#453 is merged and deployed in v1.10.16. Its preview passed staking totals/pagination, deposit fee/details, redemption records and wallet fallback checks; the canonical production site serves the tagged build and displays the new staking data.

The backend is live in production. Contract comparisons are representative samples; replay of all indexed staking history is a consistency check, not an exhaustive independent reconstruction of chain logs.