Changes miningReward method to calculate the reward for block zero correctly
#87
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #73
Motivation
This PR solves the bug for reward amount for block zero!
Solution
I've removed the if statement where it checks if a given block is the zero block or not, without that if the value was returned correctly.
Request:
Response:
{ "block":{ "block_identifier":{ "index":0, "hash":"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3" }, "parent_block_identifier":{ "index":0, "hash":"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3" }, "timestamp":0, "transactions":[ { "transaction_identifier":{ "hash":"0xd4e56740f876aef8c010b86a40d5f56745a118d0906a34e69aec8c0db1cb8fa3" }, "operations":[ { "operation_identifier":{ "index":0 }, "type":"MINER_REWARD", "status":"SUCCESS", "account":{ "address":"0x0000000000000000000000000000000000000000" }, "amount":{ "value":"5000000000000000000", "currency":{ "symbol":"ETH", "decimals":18 } } } ] } ] } }I checked the
go-ethereumimplementation where it calculate the rewards and it doesn't have any special treatment for block zero: https://github.com/ethereum/go-ethereum/blob/045e90c8971cddbabeac0abd54240cf02bc1d94d/consensus/ethash/consensus.go#L646-L653Open questions
Is there a way to test this with a unit test? Would it be nice to add one for this case?