Skip to content

Commit fd91fc4

Browse files
authored
refactor: removed fatal logs from GetTxnOpts() (#1261)
* refactor: removed fatal logs from GetTxnOpts() * refactor: removed fatal log when address not found * reafctor: fixed tests
1 parent 52d8d2a commit fd91fc4

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+713
-370
lines changed

cmd/addStake.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,10 @@ func (*UtilsStruct) StakeCoins(rpcParameters rpc.RPCParameters, txnArgs types.Tr
105105
txnArgs.MethodName = "stake"
106106
txnArgs.Parameters = []interface{}{epoch, txnArgs.Amount}
107107
txnArgs.ABI = bindings.StakeManagerMetaData.ABI
108-
txnOpts := razorUtils.GetTxnOpts(rpcParameters, txnArgs)
108+
txnOpts, err := razorUtils.GetTxnOpts(rpcParameters, txnArgs)
109+
if err != nil {
110+
return core.NilHash, err
111+
}
109112

110113
client, err := rpcParameters.RPCManager.GetBestRPCClient()
111114
if err != nil {

cmd/addStake_test.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ func TestStakeCoins(t *testing.T) {
2525
txnArgs types.TransactionOptions
2626
epoch uint32
2727
getEpochErr error
28+
txnOptsErr error
2829
stakeTxn *Types.Transaction
2930
stakeErr error
3031
hash common.Hash
@@ -80,12 +81,25 @@ func TestStakeCoins(t *testing.T) {
8081
want: core.NilHash,
8182
wantErr: errors.New("stake error"),
8283
},
84+
{
85+
name: "Test 4: When there is an error in getting transaction options",
86+
args: args{
87+
txnArgs: types.TransactionOptions{
88+
Amount: big.NewInt(1000),
89+
},
90+
epoch: 2,
91+
getEpochErr: nil,
92+
txnOptsErr: errors.New("txnOpts error"),
93+
},
94+
want: core.NilHash,
95+
wantErr: errors.New("txnOpts error"),
96+
},
8397
}
8498
for _, tt := range tests {
8599
t.Run(tt.name, func(t *testing.T) {
86100
SetUpMockInterfaces()
87101
utilsMock.On("GetEpoch", mock.Anything).Return(tt.args.epoch, tt.args.getEpochErr)
88-
utilsMock.On("GetTxnOpts", mock.Anything, mock.Anything).Return(TxnOpts)
102+
utilsMock.On("GetTxnOpts", mock.Anything, mock.Anything).Return(TxnOpts, tt.args.txnOptsErr)
89103
transactionMock.On("Hash", mock.Anything).Return(tt.args.hash)
90104
stakeManagerMock.On("Stake", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(tt.args.stakeTxn, tt.args.stakeErr)
91105

cmd/approve.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ func (*UtilsStruct) Approve(rpcParameters rpc.RPCParameters, txnArgs types.Trans
2525
txnArgs.MethodName = "approve"
2626
txnArgs.ABI = bindings.RAZORMetaData.ABI
2727
txnArgs.Parameters = []interface{}{common.HexToAddress(core.StakeManagerAddress), txnArgs.Amount}
28-
txnOpts := razorUtils.GetTxnOpts(rpcParameters, txnArgs)
28+
txnOpts, err := razorUtils.GetTxnOpts(rpcParameters, txnArgs)
29+
if err != nil {
30+
return core.NilHash, err
31+
}
2932

3033
client, err := rpcParameters.RPCManager.GetBestRPCClient()
3134
if err != nil {

cmd/approve_test.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ func TestApprove(t *testing.T) {
1919
callOpts bind.CallOpts
2020
allowanceAmount *big.Int
2121
allowanceError error
22+
txnOptsErr error
2223
approveTxn *Types.Transaction
2324
approveError error
2425
hash common.Hash
@@ -115,13 +116,26 @@ func TestApprove(t *testing.T) {
115116
want: common.Hash{0},
116117
wantErr: errors.New("approve error"),
117118
},
119+
{
120+
name: "Test 5: When there is error in getting txnOpts",
121+
args: args{
122+
txnArgs: types.TransactionOptions{
123+
Amount: big.NewInt(10000),
124+
},
125+
callOpts: bind.CallOpts{},
126+
allowanceAmount: big.NewInt(0),
127+
txnOptsErr: errors.New("txnOpts error"),
128+
},
129+
want: core.NilHash,
130+
wantErr: errors.New("txnOpts error"),
131+
},
118132
}
119133
for _, tt := range tests {
120134
t.Run(tt.name, func(t *testing.T) {
121135
SetUpMockInterfaces()
122136

123137
utilsMock.On("GetOptions").Return(tt.args.callOpts)
124-
utilsMock.On("GetTxnOpts", mock.Anything, mock.Anything).Return(TxnOpts)
138+
utilsMock.On("GetTxnOpts", mock.Anything, mock.Anything).Return(TxnOpts, tt.args.txnOptsErr)
125139
transactionMock.On("Hash", mock.Anything).Return(tt.args.hash)
126140
utilsMock.On("Allowance", mock.Anything, mock.Anything, mock.Anything).Return(tt.args.allowanceAmount, tt.args.allowanceError)
127141
tokenManagerMock.On("Approve", mock.Anything, mock.Anything, mock.Anything, mock.Anything).Return(tt.args.approveTxn, tt.args.approveError)

cmd/claimBounty.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,10 @@ func (*UtilsStruct) ClaimBounty(rpcParameters rpc.RPCParameters, config types.Co
163163
return core.NilHash, nil
164164
}
165165

166-
txnOpts := razorUtils.GetTxnOpts(rpcParameters, txnArgs)
166+
txnOpts, err := razorUtils.GetTxnOpts(rpcParameters, txnArgs)
167+
if err != nil {
168+
return core.NilHash, err
169+
}
167170
client, err := rpcParameters.RPCManager.GetBestRPCClient()
168171
if err != nil {
169172
return core.NilHash, err

cmd/claimBounty_test.go

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ func TestClaimBounty(t *testing.T) {
157157
epochErr error
158158
bountyLock types.BountyLock
159159
bountyLockErr error
160+
txnOptsErr error
160161
redeemBountyTxn *Types.Transaction
161162
redeemBountyErr error
162163
hash common.Hash
@@ -250,6 +251,19 @@ func TestClaimBounty(t *testing.T) {
250251
want: core.NilHash,
251252
wantErr: nil,
252253
},
254+
{
255+
name: "Test 8: When there is an error in getting txnOpts",
256+
args: args{
257+
epoch: 70,
258+
bountyLock: types.BountyLock{
259+
Amount: big.NewInt(1000),
260+
RedeemAfter: 70,
261+
},
262+
txnOptsErr: errors.New("txnOpts error"),
263+
},
264+
want: core.NilHash,
265+
wantErr: errors.New("txnOpts error"),
266+
},
253267
}
254268
for _, tt := range tests {
255269
t.Run(tt.name, func(t *testing.T) {
@@ -267,7 +281,7 @@ func TestClaimBounty(t *testing.T) {
267281
utilsMock.On("GetBountyLock", mock.Anything, mock.Anything).Return(tt.args.bountyLock, tt.args.bountyLockErr)
268282
timeMock.On("Sleep", mock.AnythingOfType("time.Duration")).Return()
269283
utilsMock.On("CalculateBlockTime", mock.AnythingOfType("*ethclient.Client")).Return(blockTime)
270-
utilsMock.On("GetTxnOpts", mock.Anything, mock.Anything).Return(TxnOpts)
284+
utilsMock.On("GetTxnOpts", mock.Anything, mock.Anything).Return(TxnOpts, tt.args.txnOptsErr)
271285
stakeManagerMock.On("RedeemBounty", mock.AnythingOfType("*ethclient.Client"), mock.AnythingOfType("*bind.TransactOpts"), mock.AnythingOfType("uint32")).Return(tt.args.redeemBountyTxn, tt.args.redeemBountyErr)
272286
utilsMock.On("SecondsToReadableTime", mock.AnythingOfType("int")).Return(tt.args.time)
273287
transactionUtilsMock.On("Hash", mock.Anything).Return(tt.args.hash)

cmd/claimCommission.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func (*UtilsStruct) ClaimCommission(flagSet *pflag.FlagSet) {
3838
log.Debugf("ClaimCommission: Staker Info: %+v", stakerInfo)
3939

4040
if stakerInfo.StakerReward.Cmp(big.NewInt(0)) > 0 {
41-
txnOpts := razorUtils.GetTxnOpts(rpcParameters, types.TransactionOptions{
41+
txnOpts, err := razorUtils.GetTxnOpts(rpcParameters, types.TransactionOptions{
4242
ChainId: core.ChainId,
4343
Config: config,
4444
ContractAddress: core.StakeManagerAddress,
@@ -47,6 +47,7 @@ func (*UtilsStruct) ClaimCommission(flagSet *pflag.FlagSet) {
4747
ABI: bindings.StakeManagerMetaData.ABI,
4848
Account: account,
4949
})
50+
utils.CheckError("Error in getting txn options: ", err)
5051

5152
log.Info("Claiming commission...")
5253

cmd/claimCommission_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ func TestClaimCommission(t *testing.T) {
206206
utilsMock.On("CheckPassword", mock.Anything).Return(nil)
207207
utilsMock.On("AccountManagerForKeystore").Return(&accounts.AccountManager{}, nil)
208208
utilsMock.On("ConnectToClient", mock.AnythingOfType("string")).Return(client)
209-
utilsMock.On("GetTxnOpts", mock.Anything, mock.Anything).Return(TxnOpts)
209+
utilsMock.On("GetTxnOpts", mock.Anything, mock.Anything).Return(TxnOpts, nil)
210210
utilsMock.On("WaitForBlockCompletion", mock.Anything, mock.Anything).Return(nil)
211211

212212
utilsMock.On("StakerInfo", mock.Anything, mock.AnythingOfType("uint32")).Return(tt.args.stakerInfo, tt.args.stakerInfoErr)

cmd/commit.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ func (*UtilsStruct) Commit(rpcParameters rpc.RPCParameters, config types.Configu
151151
return core.NilHash, err
152152
}
153153

154-
txnOpts := razorUtils.GetTxnOpts(rpcParameters, types.TransactionOptions{
154+
txnOpts, err := razorUtils.GetTxnOpts(rpcParameters, types.TransactionOptions{
155155
ChainId: core.ChainId,
156156
Config: config,
157157
ContractAddress: core.VoteManagerAddress,
@@ -160,6 +160,9 @@ func (*UtilsStruct) Commit(rpcParameters rpc.RPCParameters, config types.Configu
160160
Parameters: []interface{}{epoch, commitmentToSend},
161161
Account: account,
162162
})
163+
if err != nil {
164+
return core.NilHash, err
165+
}
163166

164167
log.Info("Commitment sent...")
165168
client, err := rpcParameters.RPCManager.GetBestRPCClient()

cmd/commit_test.go

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,12 @@ func TestCommit(t *testing.T) {
2828
)
2929

3030
type args struct {
31-
state int64
32-
stateErr error
33-
commitTxn *Types.Transaction
34-
commitErr error
35-
hash common.Hash
31+
state int64
32+
stateErr error
33+
txnOptsErr error
34+
commitTxn *Types.Transaction
35+
commitErr error
36+
hash common.Hash
3637
}
3738
tests := []struct {
3839
name string
@@ -75,13 +76,22 @@ func TestCommit(t *testing.T) {
7576
want: core.NilHash,
7677
wantErr: errors.New("commit error"),
7778
},
79+
{
80+
name: "Test 4: When there is an error in getting txnOpts",
81+
args: args{
82+
state: 0,
83+
txnOptsErr: errors.New("txnOpts error"),
84+
},
85+
want: core.NilHash,
86+
wantErr: errors.New("txnOpts error"),
87+
},
7888
}
7989
for _, tt := range tests {
8090
t.Run(tt.name, func(t *testing.T) {
8191
SetUpMockInterfaces()
8292

8393
utilsMock.On("GetBufferedState", mock.Anything, mock.Anything, mock.Anything).Return(tt.args.state, tt.args.stateErr)
84-
utilsMock.On("GetTxnOpts", mock.Anything, mock.Anything).Return(TxnOpts)
94+
utilsMock.On("GetTxnOpts", mock.Anything, mock.Anything).Return(TxnOpts, tt.args.txnOptsErr)
8595
voteManagerMock.On("Commit", mock.AnythingOfType("*ethclient.Client"), mock.AnythingOfType("*bind.TransactOpts"), mock.AnythingOfType("uint32"), mock.Anything).Return(tt.args.commitTxn, tt.args.commitErr)
8696
transactionMock.On("Hash", mock.AnythingOfType("*types.Transaction")).Return(tt.args.hash)
8797

0 commit comments

Comments
 (0)