chore(genesis): update genesis files#2354
Conversation
|
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: defaults Review profile: CHILL 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 |
3c77724 to
9db5fc8
Compare
3cf207e to
20e4872
Compare
20e4872 to
622e1ce
Compare
622e1ce to
31307d2
Compare
6363ef4 to
2652e9b
Compare
There was a problem hiding this comment.
Pull request overview
This PR refreshes the embedded network genesis JSON files (mainnet/testnet/devnet) to match the post-#2329 chain config schema, adding explicit fork switch fields, system contract addresses, and XDPoS v2 configuration sections.
Changes:
- Expanded
configsections for mainnet/testnet with TIP/fork blocks, Cancun, and system-contract address fields, plus XDPoS v2 config payloads. - Updated devnet genesis to include the newer fork fields and corrected legacy XDPoS JSON keys/typos (e.g.,
foundationWalletAddr,switchEpoch,expTimeoutConfig.base). - Added/extended XDPoS v2
allConfigsentries in genesis files.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| genesis/mainnet.json | Adds explicit fork/TIP switches, system-contract addresses, and XDPoS v2 config structure for mainnet. |
| genesis/testnet.json | Adds explicit fork/TIP switches, system-contract addresses, and XDPoS v2 config structure for testnet. |
| genesis/devnet.json | Adds fork/TIP switches and XDPoS v2 config structure; also corrects several legacy key issues, but currently diverges from built-in devnet presets. |
2652e9b to
f8b2b70
Compare
…is hash The devnet genesis hash exposed by `XDC init devnet` diverged from params.DevnetGenesisHash (used by `XDC --devnet` / DefaultDevnetGenesisBlock). The two paths would have produced different block 0, making nodes initialized via each method unable to peer with one another. Root cause ---------- Commit 00be1f5 (chore(devnet): may 2026 devnet reset, XinFinOrg#2347, 2026-05-25) updated core/genesis_alloc_devnet.go and common/constants.devnet.go as part of a devnet network reset. It added three pre-funded accounts to DevnetAllocData: 4b1a14a10cb48e4cfddd17c379dfcaa358b011bc d16c20329d391104029d0a850dcdf9ed6e259b60 cc08002e7e4baec892785887a74d35557e8d2c15 params.DevnetGenesisHash was later updated to reflect the new state root in dfce638 (XinFinOrg#2329, 2026-05-28). genesis/devnet.json was NOT touched by either commit; its alloc still contained only the pre-May-2026 eight accounts. Commit 1c0923d (XinFinOrg#2354, 2026-07-06) then filled in the config section of devnet.json but again left the alloc unchanged, so the JSON-derived genesis hash remained 0x7dad95... while params.DevnetGenesisHash was 0xb8be00... Fix --- Add the three missing balance-only accounts to genesis/devnet.json alloc, bringing it into parity with DevnetAllocData. After this change: json.Unmarshal(DevnetGenesis).ToBlock().Hash() == params.DevnetGenesisHash == 0xb8be003946a9c268... Verified by running TestEmbeddedGenesisConfigMatchesParams (all three networks pass) and a targeted hash-equality check.
Proposed changes
update genesis files for mainnet/testnet/devnet after PR #2329
Types of changes
What types of changes does your code introduce to XDC network?
Put an
✅in the boxes that applyImpacted Components
Which parts of the codebase does this PR touch?
Put an
✅in the boxes that applyChecklist
Put an
✅in the boxes once you have confirmed below actions (or provide reasons on not doing so) that