Loading
Summary
Several production hotfixes were applied directly to mainnet and never fully
ported back to develop. This MR brings develop into parity with mainnet
for the affected files, closing the entire develop..mainnet net diff except
for one stray binary (see Not included below).
The gap was identified by reconciling git diff develop mainnet (the net,
code-level difference) against the mainnet-only commits — most direct-to-mainnet
fixes had already been re-applied to develop via separate MRs, leaving only
the changes below.
Each change is a separate commit so it can be reviewed (or cherry-picked) per originating MR.
What's ported
!738 (merged) — [v1.128.2] Add signature count validation in TSS keysign (was entirely missing)
bifrost/tss/go-tss/keysign/notifier.go: reject keysign results wherelen(data) != len(n.messages)before sorting/verifying signatures, avoiding an out-of-bounds access. Itself a port of THORChain !4603.
!645 (merged) — Add Nu6.1 support (leftovers; bulk landed on develop via !643 (merged))
chain/zec/go/e2e_go_example.go,test/simulation/actors/zec_shielded_send.go:zec.BranchIdNu5→zec.BranchIdNu61.tools/recover-keyshare-backup/main.go: guard nilPubKeyEddsaand skip EdDSA recovery instead of dereferencing a nil pointer.
!628 (merged) — Fix ZEC pending UTXO reservations (leftovers; bulk already on develop)
.gitlab-ci.yml: copyci/zcash-params/sapling-*.paramsinto~/.zcash-paramsin thetest-simulationjob (the params binaries are already on develop).bifrost/pkg/chainclients/zcash/signer.go: comment quote normalization.
Not included
logs.tar.xz— an accidental 157 KB binary committed tomainnetin !631 (merged) ("Resolve UTXO Ordering Double spend vulnerability"). The actual fix is already ondevelop; the binary should be removed frommainnetrather than copied here. This is the only remainingdevelop..mainnetdifference after this MR.
Already on develop (no action needed)
The remaining mainnet-only commits are already fully present on develop
(zero net diff) and need no port:
- Solvency checks + ZEC solvency runner (
def8c6799) - [v1.127.1] retry failed radix txs (
b2279bf01) - [v1.128.1] querier return empty memo (
3602a7fbd) - Version bumps — both branches are at
1.129.4
Verification
- The 6 ported files now match
mainnetbyte-for-byte (git diff mainnet -- <files>is empty). go build ./bifrost/tss/go-tss/keysign/passes.zec.BranchIdNu61is defined on develop (chain/zec/go/zec/zec.go); the zerologlogimport used by the new nil-guard exists in the keyshare tool.