From 845137849da4d22df163bb473dba307654054877 Mon Sep 17 00:00:00 2001 From: Wanwiset Peerapatanapokin Date: Mon, 10 Nov 2025 21:55:45 +0400 Subject: [PATCH] consensus: change os.Exit to return error (#1653) --- core/blockchain.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/core/blockchain.go b/core/blockchain.go index f8e097bfc6..a3bcdb7fee 100644 --- a/core/blockchain.go +++ b/core/blockchain.go @@ -22,7 +22,6 @@ import ( "fmt" "io" "math/big" - "os" "sync" "sync/atomic" "time" @@ -2757,12 +2756,12 @@ func (bc *BlockChain) UpdateM1() error { // get masternodes information from smart contract client, err := bc.GetClient() if err != nil { - return err + return fmt.Errorf("failed to get client: %w", err) } addr := common.MasternodeVotingSMCBinary validator, err := contractValidator.NewXDCValidator(addr, client) if err != nil { - return err + return fmt.Errorf("failed to create validator contract: %w", err) } opts := new(bind.CallOpts) @@ -2794,7 +2793,7 @@ func (bc *BlockChain) UpdateM1() error { } if len(ms) == 0 { log.Error("No masternode found. Stopping node") - os.Exit(1) + return errors.New("no masternode found") } else { sort.Slice(ms, func(i, j int) bool { return ms[i].Stake.Cmp(ms[j].Stake) >= 0