Repository navigation
deploy: chain-22 genesis cut script (audit v11 gated fields: PST-1, PERP-6, PERP-101, CON-60, MSA-4) - #160
Merged
Conversation
…is-gated rules on (PST-1, PERP-6, PERP-101, CON-60, MSA-4, TOK-1) Derived from cut-chain21-genesis.sh with chain 21 as the source. Writes and asserts program_state.refuse_panics true (monorepo#15), perps.bound_payouts true (#13), perps.sparse_windows true + max_window_heights (#12), perps.engine_program_log_height 14 (derived from `rand perp image-hc`), multisig.max_accounts, and tokens.incremental_root true (docs/deploy.md's recommendation); field-probes each into the genesis hash (7 variants) and reads each back in check-limits (refuse_panics through the hash: no RPC serves it). max_window_heights, max_accounts and the treasury balance are the owner's: the real cut takes no default, DRY_RUN puts in loud placeholders. Chain 21's treasury vault, perps exchange and program vaults have no documented carry rule: the cut refuses while any holds value unless dropped knowingly (MULTISIG_NOT_CARRIED_OK, PERPS_STATE_NOT_CARRIED_OK, PROGRAM_VAULTS_DROPPED_OK) and named on the record's drops: line. docs/deploy.md gains "The next cut: chain 22 (audit v11 gated fields)"; CHANGELOG Unreleased notes the tooling. No cut was made. SELFTEST=1: 277 passed, 0 failed. shellcheck clean. DRY_RUN passed end to end with the v0.8.2 release binaries and with debug binaries built at 97bcf4b (perp-prover from durian.market): the perps genesis root re-derives as chain 21's da0e3a53…, the 7-variant field probe passes, and the loopback node serves chain 22 as cut. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
deploy/cut-chain22-genesis.sh, derived from the chain-21 script with chain 21 as the source. It turns on v0.8.2's genesis-gated fixes for randprotocol/monorepo#12, #13 and #15, plus CON-60 (engine_program_log_height), MSA-4 (multisig.max_accounts) and TOK-1 (tokens.incremental_root). Also adds a docs/deploy.md section and a CHANGELOG entry.Each field is written, asserted on the finished file, shown to change the genesis hash, and read back by
check-limits.Owner decisions needed before a real cut (listed in the script header):
perps.max_window_heights: no documented value.multisig.max_accounts: no documented value.Verification
SELFTEST=1: 277 passed, 0 failed.bash -npasses; shellcheck is clean.No cut was made. No hosts or keys were touched.
🤖 Generated with Claude Code