Skip to content

Feat/mainnet genesis bootstrap#57

Open
rahulghangas wants to merge 6 commits intomainfrom
feat/mainnet-genesis-bootstrap
Open

Feat/mainnet genesis bootstrap#57
rahulghangas wants to merge 6 commits intomainfrom
feat/mainnet-genesis-bootstrap

Conversation

@rahulghangas
Copy link
Copy Markdown
Collaborator

Summary

  • Add scripts/mainnet/genesis.sh to build the canonical mainnet genesis.json for opengradient_1486-1 from validators.yaml + foundation.yaml inputs. Idempotent, supports --dry-run, runs hard guards (zero inflation, zero community tax, finite max_gas, denom consistency, supply integrity, SVIP dormant), then evmd genesis validate.
  • L1 genesis supply is intentionally minimal: 4 × 10 OPG = 40 OPG total (validator self-stakes only). Foundation multisig holds 0 OPG at genesis and bridges in from Base post-launch. The 100M x/svip pool is also funded via bridge before governance activates SVIP. The canonical 1B OPG lives as ERC-20 on Base. This avoids the depeg/run risk of seating unbacked tokens in genesis (Adam + Rahul Slack thread: "if we burn the entire 10% on Base and then put it in genesis, it might create this weird setup … small amount per genesis validator would be my recommendation").
  • Add scripts/mainnet/README.md operator guide covering prerequisites, key generation, gentx flow, config edits, launch day, a citation-backed PoA enforcement note (references xrplevm/node/v10/x/poa/ante/poa.go and ante/cosmos.go:44), and a §17 "Post-launch bridge dependencies" section that documents the Foundation bridge ceremony required before any L1 transaction and before SVIP activation.
  • Extract the EVM static-precompile list to scripts/lib/precompiles.sh so local_node.sh, multi_node_startup.sh, and the new mainnet script all consume the same source. This also fixes a real drift bug: multi_node_startup.sh was previously missing the TEE precompile (0x…0900).
  • Fix pre-existing inconsistency: multi_node_startup.sh denom_metadata used OGETH while local_node.sh used OPG. Aligned to OPG / OpenGradient.

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