Repository navigation
v0.6.8 — chain 20: RPL-2, zUSD bridge fees, audit v6
Chain 20's build. Live 2026-10-01 06:17 UTC on all 26 nodes. Genesis 6210cf071a390d7ac61d8cbea5dd9d139d1a493a862b54a45a498f36af2d5135 (chain id 20, deploy/genesis-chain20.json), rolled all-stop/all-start from chain 19 at height 7700.
This is a hard fork for chain 20. The build still computes and runs chain 19's genesis, but its consensus changes must never roll node by node.
- RPL-2. Program state, program vaults and the
Invokeaction (Action33), behind theprogram_stategenesis section (docs/program-state.md). - zUSD bridge fees, in zUSD, both ways. Genesis
bridge.fees. On a mint, the chain splits the deposit into the depositor's note and a treasury fee note. On a burn, the chain keeps the fee as a treasury note, and the signed release carriesrelease_amount = amount − fee. Supply == Σ locked == custody still holds. Chain 20: 10 bps each way (docs/bridge.md§25). - The final audit v6 fixes (#67–#119, one commit each).
- Consensus: CON-4 removes the automatic lock release; CH-1 adds a timeout-certificate pacemaker.
- Node-only hardening: a
--public-rpclistener, read limits, reserved validator peers, sync and gossip budgets, the pool's byte cap, ZKV-4's bound on a proof header's declared degree, and more. - Genesis-gated rules:
testnet,binding_domain(proofs and signed messages bound to the genesis hash),proof_window_blocks, gas price ceilings and the paying byte load, staking admission by vote, slashing, vesting revokes by threshold, and bridge rotations that need possession and a delay.
Wallets need this build to send on chain 20 (binding_domain: 1).
Release suite on the laptop, release profile, on this commit: core 647, node lib with only the known RECURSION_FIXTURES gap, client 183 + 18, zkvm lib 30, cluster 28, wallet_flow 9, zusd_e2e 2, split_auth 2. The RPL-2 real-proof e2e passed on a 16 GB box in 764 s.
Assets are Linux x86-64 builds of this tag (built on E): rand-node, rand, rand-prover, SHA256SUMS.