forked from ethereum/go-ethereum
-
Notifications
You must be signed in to change notification settings - Fork 136
/
taiko_config.go
68 lines (60 loc) 路 2.33 KB
/
taiko_config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
package params
import (
"math/big"
"github.com/ethereum/go-ethereum/common"
)
func u64(val uint64) *uint64 { return &val }
// Network IDs
var (
TaikoMainnetNetworkID = big.NewInt(167000)
TaikoInternalL2ANetworkID = big.NewInt(167001)
TaikoInternalL2BNetworkID = big.NewInt(167002)
SnaefellsjokullNetworkID = big.NewInt(167003)
AskjaNetworkID = big.NewInt(167004)
GrimsvotnNetworkID = big.NewInt(167005)
EldfellNetworkID = big.NewInt(167006)
JolnirNetworkID = big.NewInt(167007)
KatlaNetworkID = big.NewInt(167008)
HeklaNetworkID = big.NewInt(167009)
)
var networkIDToChainConfig = map[*big.Int]*ChainConfig{
TaikoMainnetNetworkID: TaikoChainConfig,
TaikoInternalL2ANetworkID: TaikoChainConfig,
TaikoInternalL2BNetworkID: TaikoChainConfig,
SnaefellsjokullNetworkID: TaikoChainConfig,
AskjaNetworkID: TaikoChainConfig,
GrimsvotnNetworkID: TaikoChainConfig,
EldfellNetworkID: TaikoChainConfig,
JolnirNetworkID: TaikoChainConfig,
KatlaNetworkID: TaikoChainConfig,
HeklaNetworkID: TaikoChainConfig,
MainnetChainConfig.ChainID: MainnetChainConfig,
SepoliaChainConfig.ChainID: SepoliaChainConfig,
GoerliChainConfig.ChainID: GoerliChainConfig,
TestChainConfig.ChainID: TestChainConfig,
NonActivatedConfig.ChainID: NonActivatedConfig,
}
func NetworkIDToChainConfigOrDefault(networkID *big.Int) *ChainConfig {
if config, ok := networkIDToChainConfig[networkID]; ok {
return config
}
return AllEthashProtocolChanges
}
var TaikoChainConfig = &ChainConfig{
ChainID: TaikoInternalL2ANetworkID, // Use Internal Devnet network ID by default.
HomesteadBlock: common.Big0,
EIP150Block: common.Big0,
EIP155Block: common.Big0,
EIP158Block: common.Big0,
ByzantiumBlock: common.Big0,
ConstantinopleBlock: common.Big0,
PetersburgBlock: common.Big0,
IstanbulBlock: common.Big0,
BerlinBlock: common.Big0,
LondonBlock: common.Big0,
ShanghaiTime: u64(0),
MergeNetsplitBlock: nil,
TerminalTotalDifficulty: common.Big0,
TerminalTotalDifficultyPassed: true,
Taiko: true,
}