Skip to content

add ironwood pool processing - #120

Open
alexqrid wants to merge 1 commit into
mainfrom
zec-nu6.3
Open

add ironwood pool processing#120
alexqrid wants to merge 1 commit into
mainfrom
zec-nu6.3

Conversation

@alexqrid

Copy link
Copy Markdown
Collaborator

Summary

Adds processing for Ironwood, the new Zcash shielded pool introduced in
the NU6.3 network upgrade (mainnet activation at block 3,428,143, ~2026-07-28).
Ironwood is the successor to Orchard — built on revised Orchard code with
formal verification — and its transaction bundle mirrors Orchard's
(actions + valueBalanceZat), so the handling follows the existing
Orchard path.

Changes (Modules/Common/UTXOMainModule.php)

  • Count ironwood actions in the "no events for transaction" guard so
    Ironwood-only transactions aren't rejected.
  • Emit an ironwood-pool value-change event from transaction['ironwood']
    (negated valueBalanceZat) and fold it into the transaction fee, matching
    the Orchard logic. Sorted at PHP_INT_MAX - 1, immediately after Orchard.
  • Add ironwood to the per-block pool reconciliation: include it in
    $this_pools, accumulate ironwood-pool effects, and subtract it from the
    transparent pool so the valuePools/chainSupply delta checks stay exact.

Notes

  • The Ironwood pool is zero until NU6.3 activates, so behavior is unchanged
    on pre-activation blocks.
  • The Orchard→Ironwood turnstile migration surfaces purely as pool value
    deltas and is covered by the existing reconciliation checks.
  • The transaction field name (ironwood) is assumed from the revised-Orchard
    structure since the published RPC docs (v6.12.2) predate NU6.3

@alexqrid
alexqrid requested a review from Har01d as a code owner July 19, 2026 07:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants