implement EIP649: reduce block reward from 5 to 3 ether
This commit is contained in:
parent
7940d443e9
commit
b3a3814f6a
|
@ -92,8 +92,6 @@ proc makeReceipt(vmState: BaseVMState, fork = FkFrontier): Receipt =
|
|||
result.bloom = logsBloom(result.logs).value.toByteArrayBE
|
||||
|
||||
proc processBlock*(chainDB: BaseChainDB, header: BlockHeader, body: BlockBody, vmState: BaseVMState): ValidationResult =
|
||||
let blockReward = 5.u256 * pow(10.u256, 18) # 5 ETH
|
||||
|
||||
if chainDB.config.daoForkSupport and header.blockNumber == chainDB.config.daoForkBlock:
|
||||
vmState.mutateStateDB:
|
||||
db.applyDAOHardFork()
|
||||
|
@ -102,6 +100,8 @@ proc processBlock*(chainDB: BaseChainDB, header: BlockHeader, body: BlockBody, v
|
|||
debug "Mismatched txRoot", blockNumber=header.blockNumber
|
||||
return ValidationResult.Error
|
||||
|
||||
let fork = vmState.blockNumber.toFork
|
||||
|
||||
if header.txRoot != BLANK_ROOT_HASH:
|
||||
if body.transactions.len == 0:
|
||||
debug "No transactions in body", blockNumber=header.blockNumber
|
||||
|
@ -114,11 +114,16 @@ proc processBlock*(chainDB: BaseChainDB, header: BlockHeader, body: BlockBody, v
|
|||
for txIndex, tx in body.transactions:
|
||||
var sender: EthAddress
|
||||
if tx.getSender(sender):
|
||||
let gasUsed = processTransaction(tx, sender, vmState)
|
||||
let gasUsed = processTransaction(tx, sender, vmState, some(fork))
|
||||
else:
|
||||
debug "Could not get sender", txIndex, tx
|
||||
return ValidationResult.Error
|
||||
vmState.receipts[txIndex] = makeReceipt(vmState)
|
||||
vmState.receipts[txIndex] = makeReceipt(vmState, fork)
|
||||
|
||||
let blockReward = if fork >= FkByzantium:
|
||||
3.u256 * pow(10.u256, 18) # 3 ETH
|
||||
else:
|
||||
5.u256 * pow(10.u256, 18) # 5 ETH
|
||||
|
||||
var mainReward = blockReward
|
||||
if header.ommersHash != EMPTY_UNCLE_HASH:
|
||||
|
|
Loading…
Reference in New Issue