From 93a05ad513ed54d67bc6d57a928462cc785c5eea Mon Sep 17 00:00:00 2001 From: jangko Date: Thu, 20 Oct 2022 09:44:16 +0700 Subject: [PATCH] move isLondon to chain_config.nim --- nimbus/chain_config.nim | 5 ++++- nimbus/p2p/gaslimit.nim | 15 +++++---------- nimbus/utils/tx_pool/tx_chain/tx_gaslimits.nim | 3 --- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/nimbus/chain_config.nim b/nimbus/chain_config.nim index 3fff685ed..74d4a5680 100644 --- a/nimbus/chain_config.nim +++ b/nimbus/chain_config.nim @@ -273,7 +273,7 @@ proc loadNetworkParams*(cc: CustomChain, cg: var NetworkParams): bool = template validateFork(forkName: untyped, nextBlock: untyped) = let fork = astToStr(forkName) - cg.config.forkName = cc.config.forkName.get(nextBlock) + cg.config.forkName = cc.config.forkName.get(nextBlock) if cg.config.forkName > nextBlock: error "Forks can't be assigned out of order", fork=fork return false @@ -549,3 +549,6 @@ proc `==`*(a, b: ChainConfig): bool = if a.isNil and not b.isNil: return false if not a.isNil and b.isNil: return false a[] == b[] + +proc isLondon*(c: ChainConfig, number: BlockNumber): bool {.inline.} = + number >= c.londonBlock diff --git a/nimbus/p2p/gaslimit.nim b/nimbus/p2p/gaslimit.nim index d9b910108..042f210e9 100644 --- a/nimbus/p2p/gaslimit.nim +++ b/nimbus/p2p/gaslimit.nim @@ -14,12 +14,11 @@ import eth/[common, eip1559], ../db/db_chain, ../constants, - ../chain_config, - ../forks + ../chain_config export eip1559 - + # ------------------------------------------------------------------------------ # Pre Eip 1559 gas limit validation # ------------------------------------------------------------------------------ @@ -55,17 +54,13 @@ proc validateGasLimit(c: BaseChainDB; header: BlockHeader): Result[void, string] # Eip 1559 support # ------------------------------------------------------------------------------ -# params/config.go(450): func (c *ChainConfig) IsLondon(num [..] -proc isLondonOrLater*(c: ChainConfig; number: BlockNumber): bool = - c.toFork(number) >= FkLondon - # consensus/misc/eip1559.go(55): func CalcBaseFee(config [..] proc calcEip1599BaseFee*(c: ChainConfig; parent: BlockHeader): UInt256 = ## calculates the basefee of the header. # If the current block is the first EIP-1559 block, return the # initial base fee. - if c.isLondonOrLater(parent.blockNumber): + if c.isLondon(parent.blockNumber): eip1559.calcEip1599BaseFee(parent.gasLimit, parent.gasUsed, parent.baseFee) else: EIP1559_INITIAL_BASE_FEE @@ -75,7 +70,7 @@ proc verifyEip1559Header(c: ChainConfig; parent, header: BlockHeader): Result[void, string] {.raises: [Defect].} = ## Verify that the gas limit remains within allowed bounds - let limit = if c.isLondonOrLater(parent.blockNumber): + let limit = if c.isLondon(parent.blockNumber): parent.gasLimit else: parent.gasLimit * EIP1559_ELASTICITY_MULTIPLIER @@ -106,7 +101,7 @@ proc validateGasLimitOrBaseFee*(c: BaseChainDB; header, parent: BlockHeader): Result[void, string] {.gcsafe, raises: [Defect].} = - if not c.config.isLondonOrLater(header.blockNumber): + if not c.config.isLondon(header.blockNumber): # Verify BaseFee not present before EIP-1559 fork. if not header.baseFee.isZero: return err("invalid baseFee before London fork: have " & $header.baseFee & ", want <0>") diff --git a/nimbus/utils/tx_pool/tx_chain/tx_gaslimits.nim b/nimbus/utils/tx_pool/tx_chain/tx_gaslimits.nim index 1d7d52e06..09c167929 100644 --- a/nimbus/utils/tx_pool/tx_chain/tx_gaslimits.nim +++ b/nimbus/utils/tx_pool/tx_chain/tx_gaslimits.nim @@ -87,9 +87,6 @@ proc setPreLondonLimits(gl: var TxChainGasLimits) = gl.minLimit = gl.gasLimit - delta gl.trgLimit = gl.gasLimit -proc isLondon(c: ChainConfig, number: BlockNumber): bool {.inline.} = - number >= c.londonBlock - # ------------------------------------------------------------------------------ # Public functions # ------------------------------------------------------------------------------