mirror of
https://github.com/luxfi/genesis.git
synced 2026-07-27 04:11:41 +00:00
fix(devnet): canonical EVM chainID 96370 -> 96367
This commit is contained in:
@@ -113,7 +113,7 @@ If genesis hash drifts → check `cChainGenesis` in `genesis.json` is the litera
|
|||||||
|---------|------------|----------|--------------|----------|
|
|---------|------------|----------|--------------|----------|
|
||||||
| Mainnet | 1 | 96369 | `0x3f4fa2a0b0ce089f52bf0ae9199c75ffdd76ecafc987794050cb0d286f1ec61e` | 2T LUX |
|
| Mainnet | 1 | 96369 | `0x3f4fa2a0b0ce089f52bf0ae9199c75ffdd76ecafc987794050cb0d286f1ec61e` | 2T LUX |
|
||||||
| Testnet | 2 | 96368 | `0xfc909f7e992d9cb91485f114f6d333f3823a12f2c72bbf51ed2c8eea749b2d2e` | 2T LUX |
|
| Testnet | 2 | 96368 | `0xfc909f7e992d9cb91485f114f6d333f3823a12f2c72bbf51ed2c8eea749b2d2e` | 2T LUX |
|
||||||
| Devnet | 3 | 96370 | `0x836f6053473e4331bb347afc45b641f12075c63a302f4e56e64239a3ba4acd4b` | 2T LUX |
|
| Devnet | 3 | 96367 | `0x836f6053473e4331bb347afc45b641f12075c63a302f4e56e64239a3ba4acd4b` | 2T LUX |
|
||||||
| Local | 1337 | 1337 | - | 2T LUX |
|
| Local | 1337 | 1337 | - | 2T LUX |
|
||||||
|
|
||||||
> **Historical note**: testnet was `0x1c5fe37764b8bc146dc88bc1c2e0259cd8369b07a06439bcfa1782b5d4fb0995`
|
> **Historical note**: testnet was `0x1c5fe37764b8bc146dc88bc1c2e0259cd8369b07a06439bcfa1782b5d4fb0995`
|
||||||
@@ -139,7 +139,7 @@ on the same VM IDs (`builder.TChainAliases`, `builder.KChainAliases`).
|
|||||||
| Letter | VM | Mainnet | Testnet | Devnet | Localnet |
|
| Letter | VM | Mainnet | Testnet | Devnet | Localnet |
|
||||||
|--------|--------------|---------|---------|--------|----------|
|
|--------|--------------|---------|---------|--------|----------|
|
||||||
| X | XVM (UTXO) | — | — | — | — |
|
| X | XVM (UTXO) | — | — | — | — |
|
||||||
| C | EVM | 96369 | 96368 | 96370 | 31337 |
|
| C | EVM | 96369 | 96368 | 96367 | 31337 |
|
||||||
| D | DexVM | 96469 | 96468 | 96470 | 31447 |
|
| D | DexVM | 96469 | 96468 | 96470 | 31447 |
|
||||||
| Q | QuantumVM | 96569 | 96568 | 96570 | 31557 |
|
| Q | QuantumVM | 96569 | 96568 | 96570 | 31557 |
|
||||||
| A | AIVM | 96669 | 96668 | 96670 | 31667 |
|
| A | AIVM | 96669 | 96668 | 96670 | 31667 |
|
||||||
@@ -239,7 +239,7 @@ configs/
|
|||||||
| Block Rate | 2s | 2s | 1s | 1s |
|
| Block Rate | 2s | 2s | 1s | 1s |
|
||||||
| Gas Limit | 12M | 12M | 20M | 15M |
|
| Gas Limit | 12M | 12M | 20M | 15M |
|
||||||
| Min Base Fee | 25 gwei | 25 gwei | 1 gwei | 1 gwei |
|
| Min Base Fee | 25 gwei | 25 gwei | 1 gwei | 1 gwei |
|
||||||
| Chain ID | 96369 | 96368 | 96370 | 1337 |
|
| Chain ID | 96369 | 96368 | 96367 | 1337 |
|
||||||
|
|
||||||
### Warp Precompile (Required for Genesis Hash)
|
### Warp Precompile (Required for Genesis Hash)
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ genesis/
|
|||||||
├── testnet/ # LUX Testnet (Chain ID: 96368)
|
├── testnet/ # LUX Testnet (Chain ID: 96368)
|
||||||
│ ├── cchain.json # C-Chain genesis (EVM compatible)
|
│ ├── cchain.json # C-Chain genesis (EVM compatible)
|
||||||
│ └── genesis.json # Full testnet genesis
|
│ └── genesis.json # Full testnet genesis
|
||||||
├── devnet/ # LUX Devnet (Chain ID: 96370) - Fast iteration network
|
├── devnet/ # LUX Devnet (Chain ID: 96367) - Fast iteration network
|
||||||
│ └── cchain.json # C-Chain genesis (EVM compatible)
|
│ └── cchain.json # C-Chain genesis (EVM compatible)
|
||||||
├── local/ # Local development network (Chain ID: 1337)
|
├── local/ # Local development network (Chain ID: 1337)
|
||||||
│ ├── cchain.json # C-Chain genesis (EVM compatible)
|
│ ├── cchain.json # C-Chain genesis (EVM compatible)
|
||||||
@@ -45,7 +45,7 @@ The mainnet C-Chain was initialized with a single genesis allocation:
|
|||||||
|---------|----------|------------|---------|
|
|---------|----------|------------|---------|
|
||||||
| LUX Mainnet | 96369 | 96369 | Production network |
|
| LUX Mainnet | 96369 | 96369 | Production network |
|
||||||
| LUX Testnet | 96368 | 96368 | Public test network |
|
| LUX Testnet | 96368 | 96368 | Public test network |
|
||||||
| LUX Devnet | 96370 | 96370 | Fast iteration dev network |
|
| LUX Devnet | 96367 | 3 | Fast iteration dev network |
|
||||||
| Local | 1337 | 1337 | Local development |
|
| Local | 1337 | 1337 | Local development |
|
||||||
|
|
||||||
## Network Configurations
|
## Network Configurations
|
||||||
@@ -62,7 +62,7 @@ The mainnet C-Chain was initialized with a single genesis allocation:
|
|||||||
- **Min Base Fee**: 25 gwei
|
- **Min Base Fee**: 25 gwei
|
||||||
- **Genesis Account**: `0x9011...` with 2T LUX (same as mainnet)
|
- **Genesis Account**: `0x9011...` with 2T LUX (same as mainnet)
|
||||||
|
|
||||||
### Devnet (96370)
|
### Devnet (96367)
|
||||||
- **Block Rate**: 1 second (faster)
|
- **Block Rate**: 1 second (faster)
|
||||||
- **Gas Limit**: 20M
|
- **Gas Limit**: 20M
|
||||||
- **Min Base Fee**: 1 gwei (cheaper)
|
- **Min Base Fee**: 1 gwei (cheaper)
|
||||||
|
|||||||
@@ -209,9 +209,14 @@ func TestGetGenesis_AllPrimaryChainsBakedIn(t *testing.T) {
|
|||||||
// letter base = 96369 + 100*(idx_in_alphabet_relative_to_C)
|
// letter base = 96369 + 100*(idx_in_alphabet_relative_to_C)
|
||||||
// per-network offset: testnet = base-1, devnet = base+1 (mirrors C-Chain)
|
// per-network offset: testnet = base-1, devnet = base+1 (mirrors C-Chain)
|
||||||
//
|
//
|
||||||
|
// Exception: the C-Chain devnet EVM chainID is the owner-locked canonical
|
||||||
|
// value 96367 (see DevnetChainID), NOT base+1 (96370). The +1 rule holds
|
||||||
|
// for the D/Q/A/... shards below; C is the one cell pinned by the
|
||||||
|
// canonical map rather than derived from the arithmetic.
|
||||||
|
//
|
||||||
// This produces:
|
// This produces:
|
||||||
//
|
//
|
||||||
// C(96369/96368/96370), D(96469/96468/96470), Q(96569/96568/96570),
|
// C(96369/96368/96367), D(96469/96468/96470), Q(96569/96568/96570),
|
||||||
// A(96669/96668/96670), B(96769/96768/96770), T(96869/96868/96870),
|
// A(96669/96668/96670), B(96769/96768/96770), T(96869/96868/96870),
|
||||||
// Z(96969/96968/96970), G(97069/97068/97070), K(97169/97168/97170)
|
// Z(96969/96968/96970), G(97069/97068/97070), K(97169/97168/97170)
|
||||||
//
|
//
|
||||||
|
|||||||
+3
-3
@@ -54,11 +54,11 @@ const (
|
|||||||
// Chain ID constants (C-Chain EVM).
|
// Chain ID constants (C-Chain EVM).
|
||||||
MainnetChainID = 96369
|
MainnetChainID = 96369
|
||||||
TestnetChainID = 96368
|
TestnetChainID = 96368
|
||||||
DevnetChainID = 96370
|
DevnetChainID = 96367
|
||||||
// LocalChainID is the canonical local C-Chain EVM ID (Anvil convention).
|
// LocalChainID is the canonical local C-Chain EVM ID (Anvil convention).
|
||||||
LocalChainID = 31337
|
LocalChainID = 31337
|
||||||
// CustomChainID is the sentinel C-Chain EVM ID for any chain outside
|
// CustomChainID is the sentinel C-Chain EVM ID for any chain outside
|
||||||
// the well-known {96369, 96368, 96370, 31337} set. Mirrors CustomID
|
// the well-known {96369, 96368, 96367, 31337} set. Mirrors CustomID
|
||||||
// at the network-ID layer; the two should always be paired (a peer
|
// at the network-ID layer; the two should always be paired (a peer
|
||||||
// presenting CustomID at the network layer also presents
|
// presenting CustomID at the network layer also presents
|
||||||
// CustomChainID at the EVM layer unless overridden via genesis-file).
|
// CustomChainID at the EVM layer unless overridden via genesis-file).
|
||||||
@@ -435,7 +435,7 @@ func IsCustom(networkID uint32) bool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// networkNameFromID returns the network directory name for a network ID.
|
// networkNameFromID returns the network directory name for a network ID.
|
||||||
// Accepts both network IDs (1, 2, 3, 1337) and chain IDs (96369, 96368, 96370, 31337)
|
// Accepts both network IDs (1, 2, 3, 1337) and chain IDs (96369, 96368, 96367, 31337)
|
||||||
// as aliases. User-defined custom networks return "" — callers must
|
// as aliases. User-defined custom networks return "" — callers must
|
||||||
// supply a genesis file (`--genesis-file`) for them since there are no
|
// supply a genesis file (`--genesis-file`) for them since there are no
|
||||||
// embedded canonical configs to load from disk.
|
// embedded canonical configs to load from disk.
|
||||||
|
|||||||
@@ -38,7 +38,7 @@
|
|||||||
"berlinBlock": 0,
|
"berlinBlock": 0,
|
||||||
"byzantiumBlock": 0,
|
"byzantiumBlock": 0,
|
||||||
"cancunTime": 0,
|
"cancunTime": 0,
|
||||||
"chainId": 96370,
|
"chainId": 96367,
|
||||||
"constantinopleBlock": 0,
|
"constantinopleBlock": 0,
|
||||||
"eip150Block": 0,
|
"eip150Block": 0,
|
||||||
"eip155Block": 0,
|
"eip155Block": 0,
|
||||||
|
|||||||
@@ -320,7 +320,7 @@
|
|||||||
},
|
},
|
||||||
"byzantiumBlock": 0,
|
"byzantiumBlock": 0,
|
||||||
"cancunTime": 0,
|
"cancunTime": 0,
|
||||||
"chainId": 96370,
|
"chainId": 96367,
|
||||||
"constantinopleBlock": 0,
|
"constantinopleBlock": 0,
|
||||||
"eip150Block": 0,
|
"eip150Block": 0,
|
||||||
"eip155Block": 0,
|
"eip155Block": 0,
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -17,7 +17,7 @@ func TestEVMChainID_KnownCells(t *testing.T) {
|
|||||||
}{
|
}{
|
||||||
{FamilyLux, MainnetID, 96369},
|
{FamilyLux, MainnetID, 96369},
|
||||||
{FamilyLux, TestnetID, 96368},
|
{FamilyLux, TestnetID, 96368},
|
||||||
{FamilyLux, DevnetID, 96370},
|
{FamilyLux, DevnetID, 96367},
|
||||||
{FamilyLux, LocalID, 31337},
|
{FamilyLux, LocalID, 31337},
|
||||||
{FamilyHanzo, MainnetID, 36963},
|
{FamilyHanzo, MainnetID, 36963},
|
||||||
{FamilyHanzo, TestnetID, 36962},
|
{FamilyHanzo, TestnetID, 36962},
|
||||||
@@ -72,7 +72,7 @@ func TestNetworkFamilyOf_RoundTrip(t *testing.T) {
|
|||||||
}{
|
}{
|
||||||
{96369, FamilyLux},
|
{96369, FamilyLux},
|
||||||
{96368, FamilyLux},
|
{96368, FamilyLux},
|
||||||
{96370, FamilyLux},
|
{96367, FamilyLux},
|
||||||
{31337, FamilyLux},
|
{31337, FamilyLux},
|
||||||
{36963, FamilyHanzo},
|
{36963, FamilyHanzo},
|
||||||
{200200, FamilyZoo},
|
{200200, FamilyZoo},
|
||||||
@@ -133,7 +133,7 @@ func TestEVMChainIDFor_StringInputs(t *testing.T) {
|
|||||||
}{
|
}{
|
||||||
{"lux", "mainnet", 96369},
|
{"lux", "mainnet", 96369},
|
||||||
{"lux", "testnet", 96368},
|
{"lux", "testnet", 96368},
|
||||||
{"lux", "devnet", 96370},
|
{"lux", "devnet", 96367},
|
||||||
{"lux", "localnet", 31337},
|
{"lux", "localnet", 31337},
|
||||||
{"LUX", "MAINNET", 96369},
|
{"LUX", "MAINNET", 96369},
|
||||||
{"Lux", "Main", 96369},
|
{"Lux", "Main", 96369},
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import "github.com/luxfi/constants"
|
|||||||
// ────────────────── ──────────────────────
|
// ────────────────── ──────────────────────
|
||||||
// constants.MainnetID (1) constants.MainnetChainID (96369)
|
// constants.MainnetID (1) constants.MainnetChainID (96369)
|
||||||
// constants.TestnetID (2) constants.TestnetChainID (96368)
|
// constants.TestnetID (2) constants.TestnetChainID (96368)
|
||||||
// constants.DevnetID (3) constants.DevnetChainID (96370)
|
// constants.DevnetID (3) constants.DevnetChainID (96367)
|
||||||
// constants.LocalID (1337) constants.LocalChainID (31337)
|
// constants.LocalID (1337) constants.LocalChainID (31337)
|
||||||
//
|
//
|
||||||
// The primary network ID is SHARED across all Lux-derived L1s (Lux,
|
// The primary network ID is SHARED across all Lux-derived L1s (Lux,
|
||||||
|
|||||||
Reference in New Issue
Block a user