From f5604918e8b9bd0b7329b7dadcaee84f53e13d87 Mon Sep 17 00:00:00 2001 From: dinhln89 Date: Mon, 18 Jun 2018 10:45:38 +0700 Subject: [PATCH] Refine comments for feature add reward to validators and signers block. --- consensus/clique/clique.go | 9 ++++++--- eth/backend.go | 8 ++++---- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/consensus/clique/clique.go b/consensus/clique/clique.go index 65e13cb724..721e3d61d6 100644 --- a/consensus/clique/clique.go +++ b/consensus/clique/clique.go @@ -607,9 +607,12 @@ func (c *Clique) Prepare(chain consensus.ChainReader, header *types.Header) erro func (c *Clique) Finalize(chain consensus.ChainReader, header *types.Header, state *state.StateDB, txs []*types.Transaction, uncles []*types.Header, receipts []*types.Receipt) (*types.Block, error) { // set block reward // FIXME: unit Ether could be too plump - if c.HookReward != nil { - if error := c.HookReward(chain, state, header); error != nil { - return nil, error + number := header.Number.Uint64() + rCheckpoint := chain.Config().Clique.RewardCheckpoint + + if c.HookReward != nil && number%rCheckpoint == 0 { + if err := c.HookReward(chain, state, header); err != nil { + return nil, err } } diff --git a/eth/backend.go b/eth/backend.go index 1b8c802f67..957a4ef3ce 100644 --- a/eth/backend.go +++ b/eth/backend.go @@ -195,6 +195,9 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) { Reward float64 `json:"reward"` } + number := header.Number.Uint64() + rCheckpoint := chain.Config().Clique.RewardCheckpoint + // Call to smart contract signer. config := ctx.GetConfig() client, err := ethclient.Dial(config.IPCEndpoint()) @@ -207,12 +210,9 @@ func New(ctx *node.ServiceContext, config *Config) (*Ethereum, error) { log.Error("TOMO - Fail get block signer", "error", err) } opts := new(bind.CallOpts) - - number := header.Number.Uint64() - rCheckpoint := chain.Config().Clique.RewardCheckpoint prevCheckpoint := number - rCheckpoint - if number > 0 && prevCheckpoint > 0 && number%rCheckpoint == 0 { + if number > 0 && prevCheckpoint > 0 { // Not reward for singer of genesis block and only calculate reward at checkpoint block. startBlockNumber := number - (rCheckpoint * 2) + 1 endBlockNumber := startBlockNumber + rCheckpoint - 2