Skip to content

feat(tokens): add RKLB to the canonical production set + gap-filling Ethereum deploy - #270

Closed
hardyjosh wants to merge 3 commits into
graphite-base/270from
feat/rklb-production-token
Closed

feat(tokens): add RKLB to the canonical production set + gap-filling Ethereum deploy#270
hardyjosh wants to merge 3 commits into
graphite-base/270from
feat/rklb-production-token

Conversation

@hardyjosh

Copy link
Copy Markdown
Contributor

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

…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
@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: 842b38a5-0864-47a5-9dcf-aef5e4ee71ac

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/rklb-production-token

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@hardyjosh
hardyjosh marked this pull request as ready for review July 22, 2026 13:39
Josh Hardy and others added 2 commits July 22, 2026 13:42
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
@hardyjosh
hardyjosh changed the base branch from pin/ethereum-token-table to graphite-base/270 July 22, 2026 13:50
@hardyjosh

Copy link
Copy Markdown
Contributor Author

Folded into #259 — the RKLB additions are token-table pin work, same concern as the Ethereum table hydration.

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.

1 participant