|
|
@ -561,8 +561,16 @@ func (ethash *Ethash) Prepare(chain consensus.ChainReader, header *types.Header) |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Finalize implements consensus.Engine, accumulating the block and uncle rewards,
|
|
|
|
// Finalize implements consensus.Engine, accumulating the block and uncle rewards,
|
|
|
|
// setting the final state and assembling the block.
|
|
|
|
// setting the final state on the header
|
|
|
|
func (ethash *Ethash) Finalize(chain consensus.ChainReader, header *types.Header, state *state.StateDB, txs []*types.Transaction, uncles []*types.Header, receipts []*types.Receipt) (*types.Block, error) { |
|
|
|
func (ethash *Ethash) Finalize(chain consensus.ChainReader, header *types.Header, state *state.StateDB, txs []*types.Transaction, uncles []*types.Header) { |
|
|
|
|
|
|
|
// Accumulate any block and uncle rewards and commit the final state root
|
|
|
|
|
|
|
|
accumulateRewards(chain.Config(), state, header, uncles) |
|
|
|
|
|
|
|
header.Root = state.IntermediateRoot(chain.Config().IsEIP158(header.Number)) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// FinalizeAndAssemble implements consensus.Engine, accumulating the block and
|
|
|
|
|
|
|
|
// uncle rewards, setting the final state and assembling the block.
|
|
|
|
|
|
|
|
func (ethash *Ethash) FinalizeAndAssemble(chain consensus.ChainReader, header *types.Header, state *state.StateDB, txs []*types.Transaction, uncles []*types.Header, receipts []*types.Receipt) (*types.Block, error) { |
|
|
|
// Accumulate any block and uncle rewards and commit the final state root
|
|
|
|
// Accumulate any block and uncle rewards and commit the final state root
|
|
|
|
accumulateRewards(chain.Config(), state, header, uncles) |
|
|
|
accumulateRewards(chain.Config(), state, header, uncles) |
|
|
|
header.Root = state.IntermediateRoot(chain.Config().IsEIP158(header.Number)) |
|
|
|
header.Root = state.IntermediateRoot(chain.Config().IsEIP158(header.Number)) |
|
|
|