From 4e3cb79ff2472adb9edac2da5a79a3cf81e7fac7 Mon Sep 17 00:00:00 2001 From: AnilChinchawale Date: Sun, 2 Sep 2018 17:32:33 +0530 Subject: [PATCH] Refine code using log error when create tx sign. --- contracts/utils.go | 14 ++++++++++---- eth/fetcher/fetcher.go | 5 +++-- miner/worker.go | 5 +++-- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/contracts/utils.go b/contracts/utils.go index e40e1da0be..ba2ed0f5fd 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 -} +} \ No newline at end of file diff --git a/eth/fetcher/fetcher.go b/eth/fetcher/fetcher.go index 4d50b68de2..c98ac39a8e 100644 --- a/eth/fetcher/fetcher.go +++ b/eth/fetcher/fetcher.go @@ -742,7 +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) + } } } \ No newline at end of file diff --git a/miner/worker.go b/miner/worker.go index 319d78ec69..f387907ac7 100644 --- a/miner/worker.go +++ b/miner/worker.go @@ -342,8 +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") + } } } }