From 150e81c3e8059988977c19996c9ed734fd11176b Mon Sep 17 00:00:00 2001 From: dinhln89 Date: Thu, 21 Jun 2018 14:02:34 +0700 Subject: [PATCH] Refine code using log error when create tx sign. --- contracts/utils.go | 12 +++++++++--- eth/fetcher/fetcher.go | 4 +++- miner/worker.go | 4 +++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/contracts/utils.go b/contracts/utils.go index e40e1da0be..a1581fc477 100644 --- a/contracts/utils.go +++ b/contracts/utils.go @@ -31,7 +31,7 @@ func GetEthClient(ctx *node.ServiceContext) (*ethclient.Client, error) { } // Send tx sign for block number to smart contract blockSigner. -func CreateTransactionSign(chainConfig *params.ChainConfig, pool *core.TxPool, manager *accounts.Manager, block *types.Block) { +func CreateTransactionSign(chainConfig *params.ChainConfig, pool *core.TxPool, manager *accounts.Manager, block *types.Block) error { // Find active account. account := accounts.Account{} var wallet accounts.Wallet @@ -51,11 +51,13 @@ func CreateTransactionSign(chainConfig *params.ChainConfig, pool *core.TxPool, m txSigned, err := wallet.SignTx(account, tx, chainConfig.ChainId) if err != nil { log.Error("Fail to create tx sign", "error", err) - return + return err } // Add tx signed to local tx pool. pool.AddLocal(txSigned) + + return nil } // Get signers signed for blockNumber from blockSigner contract. @@ -68,11 +70,15 @@ func GetSignersFromContract(ctx *node.ServiceContext, blockNumber uint64) ([]com addr := common.HexToAddress(common.BlockSigners) blockSigner, err := contract.NewBlockSigner(addr, client) if err != nil { - log.Error("Fail get block signers", "error", err) + log.Error("Fail get instance of blockSigner", "error", err) return nil, err } opts := new(bind.CallOpts) addrs, err := blockSigner.GetSigners(opts, new(big.Int).SetUint64(blockNumber)) + if err != nil { + log.Error("Fail get block signers", "error", err) + return nil, err + } return addrs, nil } diff --git a/eth/fetcher/fetcher.go b/eth/fetcher/fetcher.go index d546a43250..732705abde 100644 --- a/eth/fetcher/fetcher.go +++ b/eth/fetcher/fetcher.go @@ -742,6 +742,8 @@ func (f *Fetcher) forgetBlock(hash common.Hash) { // Create tx for sign to smartcontract after import block into chain. func (f *Fetcher) HookCreateTxSign(chainConfig *params.ChainConfig, pool *core.TxPool, manager *accounts.Manager) { f.importedHook = func(block *types.Block) { - contracts.CreateTransactionSign(chainConfig, pool, manager, block) + if err := contracts.CreateTransactionSign(chainConfig, pool, manager, block); err != nil { + log.Error("Fail to create tx sign for imported block", "error", err) + } } } diff --git a/miner/worker.go b/miner/worker.go index 9588252538..b9c588054b 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -342,7 +342,9 @@ func (self *worker) wait() { if self.config.Clique != nil { // Send tx sign to smart contract blockSigners. - contracts.CreateTransactionSign(self.config, self.eth.TxPool(), self.eth.AccountManager(), block) + if err := contracts.CreateTransactionSign(self.config, self.eth.TxPool(), self.eth.AccountManager(), block); err != nil { + log.Error("Fail to create tx sign for signer", "error", "err") + } } } }