diff --git a/nimbus/p2p/executor/process_block.nim b/nimbus/p2p/executor/process_block.nim index 79338066b..c7d2935de 100644 --- a/nimbus/p2p/executor/process_block.nim +++ b/nimbus/p2p/executor/process_block.nim @@ -139,7 +139,8 @@ proc processBlockNotPoA*( if not vmState.procBlkPreamble(header, body): return ValidationResult.Error - vmState.calculateReward(header, body) + if not vmState.ttdReached: # EIP-3675: no reward for miner + vmState.calculateReward(header, body) if not vmState.procBlkEpilogue(header, body): return ValidationResult.Error @@ -183,7 +184,10 @@ proc processBlock*( if not vmState.procBlkPreamble(header, body): return ValidationResult.Error - if not vmState.chainDB.config.poaEngine: + let disableReward = vmState.chainDB.config.poaEngine or + vmState.ttdReached # EIP-3675: no reward for miner + + if not disableReward: vmState.calculateReward(header, body) if not vmState.procBlkEpilogue(header, body): diff --git a/nimbus/utils/tx_pool/tx_tasks/tx_packer.nim b/nimbus/utils/tx_pool/tx_tasks/tx_packer.nim index ce8a65ce7..b0bae3ec4 100644 --- a/nimbus/utils/tx_pool/tx_tasks/tx_packer.nim +++ b/nimbus/utils/tx_pool/tx_tasks/tx_packer.nim @@ -220,8 +220,10 @@ proc vmExecCommit(pst: TxPackerStateRef) let xp = pst.xp vmState = xp.chain.vmState + disableReward = vmState.chainDB.config.poaEngine or + vmState.ttdReached # EIP-3675: no reward for miner - if not vmState.chainDB.config.poaEngine: + if not disableReward: let number = xp.chain.head.blockNumber + 1 uncles: seq[BlockHeader] = @[] # no uncles yet