fixes fork comparison related code
This commit is contained in:
parent
648cc77f80
commit
c68aa47464
|
@ -144,6 +144,7 @@ type
|
|||
petersburgBlock*: BlockNumber
|
||||
istanbulBlock*: BlockNumber
|
||||
muirGlacierBlock*: BlockNumber
|
||||
berlinBlock*: BlockNumber
|
||||
|
||||
NimbusConfiguration* = ref object
|
||||
## Main Nimbus configuration object
|
||||
|
@ -174,6 +175,7 @@ type
|
|||
petersburgBlock*: BlockNumber
|
||||
istanbulBlock*: BlockNumber
|
||||
muirGlacierBlock*: BlockNumber
|
||||
berlinBlock*: BlockNumber
|
||||
nonce*: BlockNonce
|
||||
extraData*: seq[byte]
|
||||
gasLimit*: int64
|
||||
|
@ -194,7 +196,8 @@ var nimbusConfig {.threadvar.}: NimbusConfiguration
|
|||
proc getConfiguration*(): NimbusConfiguration {.gcsafe.}
|
||||
|
||||
proc toFork*(c: ChainConfig, number: BlockNumber): Fork =
|
||||
if number >= c.istanbulBlock: FkIstanbul
|
||||
if number >= c.berlinBlock: FkBerlin
|
||||
elif number >= c.istanbulBlock: FkIstanbul
|
||||
elif number >= c.petersburgBlock: FkPetersburg
|
||||
elif number >= c.constantinopleBlock: FkConstantinople
|
||||
elif number >= c.byzantiumBlock: FkByzantium
|
||||
|
@ -218,7 +221,8 @@ proc privateChainConfig*(): ChainConfig =
|
|||
constantinopleBlock: config.customGenesis.constantinopleBlock,
|
||||
petersburgBlock: config.customGenesis.petersburgBlock,
|
||||
istanbulBlock: config.customGenesis.istanbulBlock,
|
||||
muirGlacierBlock: config.customGenesis.muirGlacierBlock
|
||||
muirGlacierBlock: config.customGenesis.muirGlacierBlock,
|
||||
berlinBlock: config.customGenesis.berlinBlock
|
||||
)
|
||||
trace "Custom genesis block configuration loaded", configuration=result
|
||||
|
||||
|
@ -238,7 +242,8 @@ proc publicChainConfig*(id: PublicNetwork): ChainConfig =
|
|||
constantinopleBlock: 7_280_000.toBlockNumber, # Never Occured in MainNet
|
||||
petersburgBlock:7_280_000.toBlockNumber, # 28/02/2019 07:52:04
|
||||
istanbulBlock: 9_069_000.toBlockNumber, # 08/12/2019 12:25:09
|
||||
muirGlacierBlock: 9_200_000.toBlockNumber # 02/01/2020 08:30:49
|
||||
muirGlacierBlock: 9_200_000.toBlockNumber, # 02/01/2020 08:30:49
|
||||
berlinBlock: high(BlockNumber).toBlockNumber
|
||||
)
|
||||
of RopstenNet:
|
||||
ChainConfig(
|
||||
|
@ -253,7 +258,8 @@ proc publicChainConfig*(id: PublicNetwork): ChainConfig =
|
|||
constantinopleBlock: 4_230_000.toBlockNumber,
|
||||
petersburgBlock:4_939_394.toBlockNumber,
|
||||
istanbulBlock: 6_485_846.toBlockNumber,
|
||||
muirGlacierBlock: 7_117_117.toBlockNumber
|
||||
muirGlacierBlock: 7_117_117.toBlockNumber,
|
||||
berlinBlock: high(BlockNumber).toBlockNumber
|
||||
)
|
||||
of RinkebyNet:
|
||||
ChainConfig(
|
||||
|
@ -268,7 +274,8 @@ proc publicChainConfig*(id: PublicNetwork): ChainConfig =
|
|||
constantinopleBlock: 3_660_663.toBlockNumber,
|
||||
petersburgBlock:4_321_234.toBlockNumber,
|
||||
istanbulBlock: 5_435_345.toBlockNumber,
|
||||
muirGlacierBlock: high(BlockNumber).toBlockNumber
|
||||
muirGlacierBlock: high(BlockNumber).toBlockNumber,
|
||||
berlinBlock: high(BlockNumber).toBlockNumber
|
||||
)
|
||||
of GoerliNet:
|
||||
ChainConfig(
|
||||
|
@ -283,7 +290,8 @@ proc publicChainConfig*(id: PublicNetwork): ChainConfig =
|
|||
constantinopleBlock: 0.toBlockNumber,
|
||||
petersburgBlock: 0.toBlockNumber,
|
||||
istanbulBlock: 1_561_651.toBlockNumber,
|
||||
muirGlacierBlock: high(BlockNumber).toBlockNumber
|
||||
muirGlacierBlock: high(BlockNumber).toBlockNumber,
|
||||
berlinBlock: high(BlockNumber).toBlockNumber
|
||||
)
|
||||
of CustomNet:
|
||||
privateChainConfig()
|
||||
|
@ -351,7 +359,7 @@ proc processCustomGenesisConfig(customGenesis: JsonNode): ConfigStatus =
|
|||
var
|
||||
chainId = 0.uint
|
||||
homesteadBlock, daoForkblock, eip150Block, eip155Block, eip158Block, byzantiumBlock, constantinopleBlock = 0.toBlockNumber
|
||||
petersburgBlock, istanbulBlock, muirGlacierBlock = 0.toBlockNumber
|
||||
petersburgBlock, istanbulBlock, muirGlacierBlock, berlinBlock = 0.toBlockNumber
|
||||
eip150Hash, mixHash : MDigest[256]
|
||||
daoForkSupport = false
|
||||
nonce = 66.toBlockNonce
|
||||
|
@ -382,6 +390,7 @@ proc processCustomGenesisConfig(customGenesis: JsonNode): ConfigStatus =
|
|||
checkForFork(forkDetails, petersburgBlock, constantinopleBlock)
|
||||
checkForFork(forkDetails, istanbulBlock, petersburgBlock)
|
||||
checkForFork(forkDetails, muirGlacierBlock, istanbulBlock)
|
||||
checkForFork(forkDetails, istanbulBlock, berlinBlock)
|
||||
else:
|
||||
error "No chain configuration found."
|
||||
quit(1)
|
||||
|
@ -409,6 +418,7 @@ proc processCustomGenesisConfig(customGenesis: JsonNode): ConfigStatus =
|
|||
petersburgBlock: petersburgBlock,
|
||||
istanbulBlock: istanbulBlock,
|
||||
muirGlacierBlock: muirGlacierBlock,
|
||||
berlinBlock: berlinBlock,
|
||||
nonce: nonce,
|
||||
extraData: extraData,
|
||||
gasLimit: gasLimit,
|
||||
|
|
|
@ -27,7 +27,8 @@ type
|
|||
blockZeroHash: KeccakHash
|
||||
|
||||
func toChainFork(c: ChainConfig, number: BlockNumber): ChainFork =
|
||||
if number >= c.muirGlacierBlock: MuirGlacier
|
||||
if number >= c.berlinBlock: Berlin
|
||||
elif number >= c.muirGlacierBlock: MuirGlacier
|
||||
elif number >= c.istanbulBlock: Istanbul
|
||||
elif number >= c.petersburgBlock: Petersburg
|
||||
elif number >= c.constantinopleBlock: Constantinople
|
||||
|
@ -56,6 +57,7 @@ func getNextFork(c: ChainConfig, fork: ChainFork): uint64 =
|
|||
toNextFork(c.petersburgBlock),
|
||||
toNextFork(c.istanbulBlock),
|
||||
toNextFork(c.muirGlacierBlock),
|
||||
toNextFork(c.berlinBlock),
|
||||
]
|
||||
|
||||
if fork == high(ChainFork):
|
||||
|
|
|
@ -92,7 +92,8 @@ const
|
|||
eth3, # FkByzantium
|
||||
eth2, # FkConstantinople
|
||||
eth2, # FkPetersburg
|
||||
eth2 # FkIstanbul
|
||||
eth2, # FkIstanbul
|
||||
eth2 # FkBerlin
|
||||
]
|
||||
|
||||
proc calculateReward(fork: Fork, header: BlockHeader, body: BlockBody, vmState: BaseVMState) =
|
||||
|
|
|
@ -710,7 +710,8 @@ const
|
|||
FkByzantium: SpuriousGasFees,
|
||||
FkConstantinople: SpuriousGasFees,
|
||||
FkPetersburg: SpuriousGasFees,
|
||||
FkIstanbul: IstanbulGasFees
|
||||
FkIstanbul: IstanbulGasFees,
|
||||
FkBerlin: IstanbulGasFees
|
||||
]
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue