Update zebra to v4.3.1 (drop Maya fork)

Summary

Regtest config change

Upstream zebra 4.x enforces ZIP-271 at the NU6.1 activation block: the block must contain coinbase outputs matching a declared lockbox_disbursements entry, funded from the NU6 deferred (lockbox) pool. Regtest configs previously relied on zebra 3.1.0 silently accepting an empty disbursement list. The fix, per @zlyzol's review note:

[[network.testnet_parameters.funding_streams]]
[network.testnet_parameters.funding_streams.height_range]
start = 3
end = 4

[[network.testnet_parameters.funding_streams.recipients]]
receiver = "Deferred"
numerator = 12
addresses = []

[[network.testnet_parameters.lockbox_disbursements]]
address = "t26ovBdKAJLtrvBsE2QGF4nqBkEuptuPFZz"
amount = 75000000

A one-block NU6 Deferred funding stream (12/100 of the block 3 subsidy = 75_000_000 zatoshi) fills the pool, and the matching disbursement drains it at NU6.1 activation.

Files touched

  • build/docker/docker-compose.yml — mocknet zebra service
  • build/docker/mocknet/zec/start-zebra.sh — zebrad.toml template
  • chain/zec/go/docker-compose.yml — Go e2e regtest
  • chain/zec/go/docker-regtest-setup.sh — zebrad.toml template
  • chain/zec/js/docker-compose.yml — JS e2e regtest
  • chain/zec/js/regtest-setup.sh — zebrad.toml template
  • docs/chains/zcash.md — deployment docs

Verification

  • Locally confirmed zfnd/zebra:4.3.1 + the new config mines past NU6.1: chaintip 0x4dec4df0 (NU6.1) at block 160, all prior upgrades active, "Regtest setup complete!" printed.
  • Also confirmed no chain/zec changes are required: the Rust lib's BranchId::for_height and the JS 0x4dec4df0 constant now match a real NU6.1-active chain.

Coordinates with

  • Production zebra 4.3.1 bump: node-launcher MR !417.

Follow-up (orthogonal)

  • Delete ci/images/zebra-daemon/Dockerfile + version in node-launcher (orphaned fork build, no longer referenced since MR !403 (merged)).
Edited by Itzamna

Merge request reports

Loading
Loading