feat(tokens): add RKLB to the canonical production set + gap-filling Ethereum deploy - #270
feat(tokens): add RKLB to the canonical production set + gap-filling Ethereum deploy#270hardyjosh wants to merge 3 commits into
Conversation
…Ethereum deploy
RKLB is live production on Base (Safe-deployed at block 41704399,
Safe-owned, on the V1-address production beacons) but was accidentally
omitted from every table in this repo — so no invariant covered it, the V4
authoriser swap batch (table-enumerated) skipped it, and the 28-token
Ethereum broadcast (config-enumerated) never deployed it.
- LibProdTokenConfig: RKLB row ("Rocket Lab USA Inc ST0x" / tRKLB) —
validated against the live Base vault by the config suite.
- LibTokenInvariants: Base constants + row 29 (receipt 0x34Bf3d8D, vault
0xf6744Fd9, wrapped 0xF4f8c660); Ethereum row 29 deliberately all-zero —
the explicit "missing on this chain" state the parity pin flags and the
gap-filling deploy targets.
- New `20260722-deploy-missing-tokens-ethereum` broadcast script
(manual-broadcast registry): self-scoping counterpart of the EXECUTED
20260706 deploy — joins canonical config vs the Ethereum table by index
(underlying-aligned, misalignment aborts) and deploys exactly the
all-zero rows; a fully-hydrated table refuses to deploy
(NoMissingTokens). Same per-token flow: 0.1.1 unified deployer,
setAuthorizer(Ethereum V4 authoriser), transferOwnership(Ethereum Safe).
Live-fork sweep with RKLB in the table: config + uniform-ownership legs
green (RKLB is Safe-owned, canonical name/symbol match); the strict
uniform-authoriser legs red on the first still-V3 vault as designed — RKLB
joins the 6 in the self-scoping 20260722 swap batch, one Safe signing
covers all 7.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VPs1hCTxusmaSeFKvoc4Kr
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
The six-vault bundle authored from 20260722-swap-remaining-vault-authorisers is already partially signed (2-of-3); regenerating a combined 7-tx bundle would change the SafeTxHash and void those signatures. RKLB — added to the canonical table after that bundle was authored — gets its own single-tx run-script authoring instead: same pre-flight (Safe state, V4 authoriser codehash + full grant map, RKLB strictly on V3), single setAuthorizer tx, SafeTxHash against the live nonce, simulate-as-Safe, RKLB-scoped post-state (deliberately not whole-table uniformity — the six-vault bundle executes independently), artifact, forward-only n+1 re-issue proof. The two bundles target disjoint vaults and are order-independent. Registered in run-script.yaml. Fork suite: happy path pins the artifact to exactly one tx targeting the RKLB vault; inverted guards cover already-swapped and unknown-authoriser aborts. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VPs1hCTxusmaSeFKvoc4Kr
manual-broadcast run 29924926246 deployed RKLB on Ethereum mainnet 2026-07-22 via the gap-filling script: receipt 0xFf5b15a4, receiptVault 0xED0c085d, wrapped 0x8FC87Be7 — verified live (authoriser = the Ethereum V4 authoriser, owner = the Ethereum Safe, receipt readback matches). Pin the tuple, flip the script status to EXECUTED, and flip the selection test to its post-execution shape: a fully-hydrated table refuses to author (NoMissingTokens), the guard against duplicate-minting re-dispatch. The full 29-token Ethereum parity leg passes against live mainnet. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01VPs1hCTxusmaSeFKvoc4Kr
|
Folded into #259 — the RKLB additions are token-table pin work, same concern as the Ethereum table hydration. |

RKLB is live production on Base (Safe-deployed at block 41704399,
Safe-owned, on the V1-address production beacons) but was accidentally
omitted from every table in this repo — so no invariant covered it, the V4
authoriser swap batch (table-enumerated) skipped it, and the 28-token
Ethereum broadcast (config-enumerated) never deployed it.
validated against the live Base vault by the config suite.
0xf6744Fd9, wrapped 0xF4f8c660); Ethereum row 29 deliberately all-zero —
the explicit "missing on this chain" state the parity pin flags and the
gap-filling deploy targets.
20260722-deploy-missing-tokens-ethereumbroadcast script(manual-broadcast registry): self-scoping counterpart of the EXECUTED
20260706 deploy — joins canonical config vs the Ethereum table by index
(underlying-aligned, misalignment aborts) and deploys exactly the
all-zero rows; a fully-hydrated table refuses to deploy
(NoMissingTokens). Same per-token flow: 0.1.1 unified deployer,
setAuthorizer(Ethereum V4 authoriser), transferOwnership(Ethereum Safe).
Live-fork sweep with RKLB in the table: config + uniform-ownership legs
green (RKLB is Safe-owned, canonical name/symbol match); the strict
uniform-authoriser legs red on the first still-V3 vault as designed — RKLB
joins the 6 in the self-scoping 20260722 swap batch, one Safe signing
covers all 7.
Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
Claude-Session: https://claude.ai/code/session_01VPs1hCTxusmaSeFKvoc4Kr