Repository navigation
CSHLD-2024: Update wasm-utxo and zcash recovery defaults for NU7 - #10031
Merged
Merged
Conversation
Contributor
Ranjna-G
force-pushed
the
CSHLD-2024-update-wasm-utxo-recovery-nu7
branch
from
October 22, 2026 14:01
fef48f8 to
11ad32e
Compare
Contributor
|
|
veetragjain
approved these changes
Oct 22, 2026
NU7 activates on mainnet at 3543405 (ZIP-259, ~2026-11-05). Bump @bitgo/wasm-utxo to 5.15.0 across the utxo modules — the first release carrying the NU7 mainnet height and branch ID 0x77190ad9. The recovery default heights were NU6.1-era (zec 3146400, tzec 3536500): they stamped a branch ID invalid since NU6.2/NU6.3, silently producing broadcast-dead v4 recovery transactions in the emergency recovery path. Default to the NU7 activation heights so a no-height v4 build fails loudly at build time per ZIP-2003 instead of being signed and queued. Pin the recovery fixture tests to their historical v4-era generation heights (fixture bytes unchanged), add mainnet v6 decode and v4-rejection tests at the NU7 boundary, and fix a stale utxo-lib NU6 comment. Ticket: CSHLD-2024
Ranjna-G
force-pushed
the
CSHLD-2024-update-wasm-utxo-recovery-nu7
branch
from
October 22, 2026 15:29
11ad32e to
4417f1a
Compare
Ranjna-G
marked this pull request as ready for review
October 22, 2026 16:06
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.
Tip: disable this comment in your organization's Code Review settings.
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.
Summary
Bumps
@bitgo/wasm-utxoto 5.15.0 across the utxo modules — the first release carrying the NU7 mainnet activation height 3,543,405 (ZIP-259, ~2026-11-05) and branch ID0x77190AD9— and fixes the stale NU6.1-era Zcash recovery default heights, which silently produced broadcast-dead v4 recovery transactions.Linear: CSHLD-2024
Changes
@bitgo/wasm-utxo^5.11.0→^5.15.0inabstract-utxo,utxo-bin,utxo-core,utxo-descriptors,utxo-ord,utxo-staking(+yarn.lock)abstract-utxo/src/recovery/psbt.ts:ZCASH_DEFAULT_BLOCK_HEIGHTS→ NU7 activation heights (zec 3,543,405 / tzec 4,465,026); the old NU6.1-era defaults stamped a branch ID invalid since NU6.2/NU6.3, and with 5.15.0 a no-height v4 build now fails loudly at build time per ZIP-2003 instead of being signed and left unbroadcastablepsbtDecode.ts: new mainnet coverage — v6 PSBT at 3,543,405 decodes as Ironwood withconsensusBranchId 0x77190AD9; v4 build at 3,543,405 is rejected (ZIP-2003). All previous v6 tests were tzec-onlybackupKeyRecovery.ts/backupKeyRecoveryUnspentGathering.ts: pin fixture tests to their historical v4-era generation heights (fixture bytes unchanged) — they exercise v4 recovery mechanics, not broadcastabilityutxo-lib: fix stale "Testnet has not yet activated NU6.2" comment on the deprecated legacy path (no behavior change; v6 correctly falls through to throw)Test Plan
npx mocha --recursive test/unit/impl/zec test/unit/recovery→ 1053 passing, 0 failingnpm run unit-test(utxo-lib) → 4254 passing, 38 pendingZcashBitGoPsbt.branchIdForHeight('zec', 3543405) === 0x77190AD9and3543404 → 0x37A5165Bagainst installed 5.15.0