Skip to content

Commit b6b4c55

Browse files
committed
Fix errcheck issues
1 parent 702857f commit b6b4c55

49 files changed

Lines changed: 615 additions & 287 deletions

Some content is hidden

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

.golangci.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ linters:
66
- ineffassign
77
- unused
88
- staticcheck
9+
- errcheck
910
settings:
1011
staticcheck:
1112
checks:
@@ -21,6 +22,10 @@ linters:
2122
- -ST1020
2223
- -ST1021
2324
- -ST1022
25+
errcheck:
26+
exclude-functions:
27+
- (*os.File).Close
28+
2429

2530
formatters:
2631
enable:

bindings/dao/protocol/verify.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,10 @@ func GetMultiChallengeStatesFast(rp *rocketpool.RocketPool, multicallAddress com
248248
for j := i; j < max; j++ {
249249
propID := big.NewInt(int64(proposalIds[j]))
250250
challengedIndex := big.NewInt(int64(challengedIndices[j]))
251-
mc.AddCall(rocketDAOProtocolVerifier, &rawStates[j], "getChallengeState", propID, challengedIndex)
251+
err = mc.AddCall(rocketDAOProtocolVerifier, &rawStates[j], "getChallengeState", propID, challengedIndex)
252+
if err != nil {
253+
return fmt.Errorf("error adding challenge state call for proposal %d / index %d: %w", proposalIds[j], challengedIndices[j], err)
254+
}
252255
}
253256
_, err = mc.FlexibleCall(true, opts)
254257
if err != nil {

bindings/minipool/minipool-contract-v2.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -575,7 +575,7 @@ func (mp *minipool_v2) GetPrestakeEvent(intervalSize *big.Int, opts *bind.CallOp
575575

576576
// Decode the event
577577
prestakeEvent := new(MinipoolPrestakeEvent)
578-
mp.Contract.Contract.UnpackLog(prestakeEvent, "MinipoolPrestaked", log)
578+
err = mp.Contract.Contract.UnpackLog(prestakeEvent, "MinipoolPrestaked", log)
579579
if err != nil {
580580
return PrestakeData{}, fmt.Errorf("Error unpacking prestake data: %w", err)
581581
}

bindings/minipool/minipool-contract-v3.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -616,7 +616,7 @@ func (mp *minipool_v3) GetPrestakeEvent(intervalSize *big.Int, opts *bind.CallOp
616616

617617
// Decode the event
618618
prestakeEvent := new(MinipoolPrestakeEvent)
619-
mp.Contract.Contract.UnpackLog(prestakeEvent, "MinipoolPrestaked", log)
619+
err = mp.Contract.Contract.UnpackLog(prestakeEvent, "MinipoolPrestaked", log)
620620
if err != nil {
621621
return PrestakeData{}, fmt.Errorf("Error unpacking prestake data: %w", err)
622622
}

bindings/network/voting.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,14 @@ func GetNodeInfoSnapshotFast(rp *rocketpool.RocketPool, blockNumber uint32, mult
6969
for j := i; j < max; j++ {
7070
nodeAddress := nodeAddresses[j]
7171
votingInfos[j].NodeAddress = nodeAddress
72-
mc.AddCall(rocketNetworkVoting, &votingInfos[j].VotingPower, "getVotingPower", nodeAddress, blockNumber)
73-
mc.AddCall(rocketNetworkVoting, &votingInfos[j].Delegate, "getDelegate", nodeAddress, blockNumber)
72+
err = mc.AddCall(rocketNetworkVoting, &votingInfos[j].VotingPower, "getVotingPower", nodeAddress, blockNumber)
73+
if err != nil {
74+
return fmt.Errorf("error adding voting power call for node %s: %w", nodeAddress.Hex(), err)
75+
}
76+
err = mc.AddCall(rocketNetworkVoting, &votingInfos[j].Delegate, "getDelegate", nodeAddress, blockNumber)
77+
if err != nil {
78+
return fmt.Errorf("error adding delegate call for node %s: %w", nodeAddress.Hex(), err)
79+
}
7480
}
7581
_, err = mc.FlexibleCall(true, opts)
7682
if err != nil {

bindings/node/node.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,10 @@ func GetNodeAddressesFast(rp *rocketpool.RocketPool, multicallAddress common.Add
185185
return err
186186
}
187187
for j := i; j < max; j++ {
188-
mc.AddCall(rocketNodeManager, &addresses[j], "getNodeAt", big.NewInt(int64(j)))
188+
err = mc.AddCall(rocketNodeManager, &addresses[j], "getNodeAt", big.NewInt(int64(j)))
189+
if err != nil {
190+
return fmt.Errorf("error adding node at call for index %d: %w", j, err)
191+
}
189192
}
190193
_, err = mc.FlexibleCall(true, opts)
191194
if err != nil {

bindings/utils/state/contracts.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -194,10 +194,16 @@ func NewNetworkContracts(rp *rocketpool.RocketPool, multicallerAddress common.Ad
194194
// Add the address and ABI getters to multicall
195195
for i, wrapper := range wrappers {
196196
// Add the address getter
197-
contracts.Multicaller.AddCall(contracts.RocketStorage, &wrappers[i].address, "getAddress", [32]byte(crypto.Keccak256Hash([]byte("contract.address"), []byte(wrapper.name))))
197+
err := contracts.Multicaller.AddCall(contracts.RocketStorage, &wrappers[i].address, "getAddress", [32]byte(crypto.Keccak256Hash([]byte("contract.address"), []byte(wrapper.name))))
198+
if err != nil {
199+
return nil, fmt.Errorf("error adding address getter for %s: %w", wrapper.name, err)
200+
}
198201

199202
// Add the ABI getter
200-
contracts.Multicaller.AddCall(contracts.RocketStorage, &wrappers[i].abiEncoded, "getString", [32]byte(crypto.Keccak256Hash([]byte("contract.abi"), []byte(wrapper.name))))
203+
err = contracts.Multicaller.AddCall(contracts.RocketStorage, &wrappers[i].abiEncoded, "getString", [32]byte(crypto.Keccak256Hash([]byte("contract.abi"), []byte(wrapper.name))))
204+
if err != nil {
205+
return nil, fmt.Errorf("error adding ABI getter for %s: %w", wrapper.name, err)
206+
}
201207
}
202208

203209
// Run the multi-getter

bindings/utils/state/megapool.go

Lines changed: 43 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@ func GetAllMegapoolValidators(rp *rocketpool.RocketPool, contracts *NetworkContr
8888
}
8989
var dummy *big.Int
9090
for j := i; j < max; j++ {
91-
mc.AddCall(megapoolManagerContract, &dummy, "getValidatorInfo", big.NewInt(int64(j)))
91+
err = mc.AddCall(megapoolManagerContract, &dummy, "getValidatorInfo", big.NewInt(int64(j)))
92+
if err != nil {
93+
return fmt.Errorf("error adding validator info call for global index %d: %w", j, err)
94+
}
9295
}
9396
responses, err := mc.Execute(true, opts)
9497
if err != nil {
@@ -228,7 +231,10 @@ func GetBulkMegapoolDetails(rp *rocketpool.RocketPool, contracts *NetworkContrac
228231
megapoolDetails[j].NodeDebt = big.NewInt(0)
229232
megapoolDetails[j].BondRequirement = big.NewInt(0)
230233
megapoolDetails[j].EthBalance = big.NewInt(0)
231-
addMegapoolDetailsCalls(mc, megaContracts[j], &megapoolDetails[j], &lastDistributionTimes[j])
234+
err = addMegapoolDetailsCalls(mc, megaContracts[j], &megapoolDetails[j], &lastDistributionTimes[j])
235+
if err != nil {
236+
return fmt.Errorf("error adding megapool details calls: %w", err)
237+
}
232238
}
233239
_, err = mc.FlexibleCall(true, opts)
234240
if err != nil {
@@ -265,8 +271,14 @@ func GetBulkMegapoolDetails(rp *rocketpool.RocketPool, contracts *NetworkContrac
265271
if megapoolDetails[j].DelegateExpired {
266272
continue
267273
}
268-
mc.AddCall(megapoolFactory, &delegateExpiries[j], "getDelegateExpiry", megapoolDetails[j].DelegateAddress)
269-
mc.AddCall(nodeDeposit, &megapoolDetails[j].BondRequirement, "getBondRequirement", big.NewInt(int64(megapoolDetails[j].ActiveValidatorCount)))
274+
err = mc.AddCall(megapoolFactory, &delegateExpiries[j], "getDelegateExpiry", megapoolDetails[j].DelegateAddress)
275+
if err != nil {
276+
return fmt.Errorf("error adding delegate expiry call for megapool %s: %w", megapoolDetails[j].Address.Hex(), err)
277+
}
278+
err = mc.AddCall(nodeDeposit, &megapoolDetails[j].BondRequirement, "getBondRequirement", big.NewInt(int64(megapoolDetails[j].ActiveValidatorCount)))
279+
if err != nil {
280+
return fmt.Errorf("error adding bond requirement call for megapool %s: %w", megapoolDetails[j].Address.Hex(), err)
281+
}
270282
callCount += 2
271283
}
272284
if callCount == 0 {
@@ -295,20 +307,31 @@ func GetBulkMegapoolDetails(rp *rocketpool.RocketPool, contracts *NetworkContrac
295307
}
296308

297309
// Add all independent multicall entries for a single megapool's details
298-
func addMegapoolDetailsCalls(mc *multicall.MultiCaller, megaContract *rocketpool.Contract, details *NativeMegapoolDetails, lastDistributionTime **big.Int) {
299-
mc.AddCall(megaContract, &details.EffectiveDelegateAddress, "getEffectiveDelegate")
300-
mc.AddCall(megaContract, &details.DelegateAddress, "getDelegate")
301-
mc.AddCall(megaContract, &details.DelegateExpired, "getDelegateExpired")
302-
mc.AddCall(megaContract, lastDistributionTime, "getLastDistributionTime")
303-
mc.AddCall(megaContract, &details.NodeDebt, "getDebt")
304-
mc.AddCall(megaContract, &details.PendingRewards, "getPendingRewards")
305-
mc.AddCall(megaContract, &details.RefundValue, "getRefundValue")
306-
mc.AddCall(megaContract, &details.ValidatorCount, "getValidatorCount")
307-
mc.AddCall(megaContract, &details.ActiveValidatorCount, "getActiveValidatorCount")
308-
mc.AddCall(megaContract, &details.LockedValidatorCount, "getLockedValidatorCount")
309-
mc.AddCall(megaContract, &details.UseLatestDelegate, "getUseLatestDelegate")
310-
mc.AddCall(megaContract, &details.AssignedValue, "getAssignedValue")
311-
mc.AddCall(megaContract, &details.NodeBond, "getNodeBond")
312-
mc.AddCall(megaContract, &details.UserCapital, "getUserCapital")
313-
mc.AddCall(megaContract, &details.NodeQueuedBond, "getNodeQueuedBond")
310+
func addMegapoolDetailsCalls(mc *multicall.MultiCaller, megaContract *rocketpool.Contract, details *NativeMegapoolDetails, lastDistributionTime **big.Int) error {
311+
allErrors := make([]error, 0)
312+
addCall := func(contract *rocketpool.Contract, out any, method string, args ...any) {
313+
allErrors = append(allErrors, mc.AddCall(contract, out, method, args...))
314+
}
315+
316+
addCall(megaContract, &details.EffectiveDelegateAddress, "getEffectiveDelegate")
317+
addCall(megaContract, &details.DelegateAddress, "getDelegate")
318+
addCall(megaContract, &details.DelegateExpired, "getDelegateExpired")
319+
addCall(megaContract, lastDistributionTime, "getLastDistributionTime")
320+
addCall(megaContract, &details.NodeDebt, "getDebt")
321+
addCall(megaContract, &details.PendingRewards, "getPendingRewards")
322+
addCall(megaContract, &details.RefundValue, "getRefundValue")
323+
addCall(megaContract, &details.ValidatorCount, "getValidatorCount")
324+
addCall(megaContract, &details.ActiveValidatorCount, "getActiveValidatorCount")
325+
addCall(megaContract, &details.LockedValidatorCount, "getLockedValidatorCount")
326+
addCall(megaContract, &details.UseLatestDelegate, "getUseLatestDelegate")
327+
addCall(megaContract, &details.AssignedValue, "getAssignedValue")
328+
addCall(megaContract, &details.NodeBond, "getNodeBond")
329+
addCall(megaContract, &details.UserCapital, "getUserCapital")
330+
addCall(megaContract, &details.NodeQueuedBond, "getNodeQueuedBond")
331+
for _, err := range allErrors {
332+
if err != nil {
333+
return fmt.Errorf("error adding megapool details calls: %w", err)
334+
}
335+
}
336+
return nil
314337
}

0 commit comments

Comments
 (0)