[V135] Port the v1.135.0 release fixes to develop #check-lint-warning

Brings develop to the code running on mainnet at v1.135.0. These fixes were released from the private repository and are live on mainnet, so they are now published here. The tree matches the released code except the stagenet-only ScheduledMigration body, which is not included.

Public stagenet and mainnet (both 1.133.0) contain none of these changes.

Consensus (x/mayachain)

  • Require ed25519 validator consensus keys
  • Bind aggregator metadata to observed-tx consensus
  • Derive LastChainHeight from a Byzantine-safe observed height
  • Make recovery swap IDs unique per failed TxOutItem
  • MAYAName: bound affiliate graphs and isolate payout branches
  • Accept tss-lib v3 keysign rounds 8 and 9; normalize keysign blame rounds
  • TSS keygen: a failed keygen demotes only its own members
  • BTC segwit addresses must decode and use the network HRP
  • DASH: accept only payable destinations

Node, API and decoding

  • Exit the process on consensus failure
  • Bound transaction decode inputs (binary and JSON routes)
  • Bound quote, query and address decoder inputs (including Cardano address decoding)

Bifrost, signer and TSS

  • Reject bare multisig sender UTXOs for BTC, DASH and ZEC
  • Record observed txs in EVM block meta at scan time
  • Guard KUJI and THOR scanners against nil RPC responses
  • Skip outbounds whose destination cannot be decoded (BTC, DASH)
  • ZEC: retry shielded scans with persistent results, bound retry work
  • Signer: persist the signing checkpoint on failure, hold the signing lane until a timed-out attempt finishes, act on the late attempt's outcome, fix lock map and constants cache races, log keysign timeouts instead of panicking
  • TSS: validate the join-party leader's peer list, deterministic missing-share blame, recover tss-lib panics, handle an ecdsa keysign timeout before the first local message

Private MRs

Original reviews (private repository, access required):

Not included: mayanode-private!33 (stagenet-only ScheduledMigration body). Private !1 (merged)–!4 (merged), !6 (closed)–!10 (merged), !17 (merged) and !18 (closed) are already on develop.

Lint

#check-lint-warning: the frozen-function changes reported by scripts/lint-versions.bash are the released v1.135.0 code, unchanged.

Regression fixtures are regenerated for the changed behaviour.

Edited by Bitol Maya

Merge request reports

Loading
Loading