X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=blobdiff_plain;f=protocol%2Fstate%2Fconsensus_result.go;h=9fd571b34c281c6967aa68f60eaa3380b179e870;hp=53bdbeb1242a2e1e0052c9b66f5863a18b4aa672;hb=aece9c02c1f342d7ec301981c2afa4b8d1fe0e6a;hpb=c8b3501169a1442ccbcc8625244d3a72c9ab729a diff --git a/protocol/state/consensus_result.go b/protocol/state/consensus_result.go index 53bdbeb1..9fd571b3 100644 --- a/protocol/state/consensus_result.go +++ b/protocol/state/consensus_result.go @@ -251,16 +251,6 @@ func (c *ConsensusResult) DetachBlock(block *types.Block) error { // DetachCoinbaseReward detach coinbase reward func (c *ConsensusResult) DetachCoinbaseReward(block *types.Block) error { - if block.Height%consensus.ActiveNetParams.RoundVoteBlockNums == 0 { - for i, output := range block.Transactions[0].Outputs { - if i == 0 { - continue - } - program := output.ControlProgram() - c.CoinbaseReward[hex.EncodeToString(program)] = output.AssetAmount().Amount - } - } - reward, err := CalCoinbaseReward(block) if err != nil { return err @@ -275,6 +265,17 @@ func (c *ConsensusResult) DetachCoinbaseReward(block *types.Block) error { if c.CoinbaseReward[program] == 0 { delete(c.CoinbaseReward, program) } + + if block.Height%consensus.ActiveNetParams.RoundVoteBlockNums == 1 { + c.CoinbaseReward = map[string]uint64{} + for i, output := range block.Transactions[0].Outputs { + if i == 0 { + continue + } + program := output.ControlProgram() + c.CoinbaseReward[hex.EncodeToString(program)] = output.AssetAmount().Amount + } + } return nil }