Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 18 additions & 2 deletions .golangci.yml
Original file line number Diff line number Diff line change
@@ -1,9 +1,21 @@
version: "2"
linters:
default: none
enable:
- staticcheck
- revive
settings:
revive:
enable-default-rules: true
rules:
- name: exported
disabled: true
- name: var-naming
disabled: true
- name: package-comments
disabled: true
- name: unused-parameter
disabled: true
- name: error-strings
disabled: true
staticcheck:
checks:
- all
Expand All @@ -18,6 +30,10 @@ linters:
- -ST1020
- -ST1021
- -ST1022
errcheck:
exclude-functions:
- (*os.File).Close


formatters:
enable:
Expand Down
18 changes: 0 additions & 18 deletions bindings/dao/protocol/dao.go

This file was deleted.

13 changes: 8 additions & 5 deletions bindings/dao/protocol/verify.go
Original file line number Diff line number Diff line change
Expand Up @@ -233,9 +233,9 @@ func GetMultiChallengeStatesFast(rp *rocketpool.RocketPool, multicallAddress com
rawStates := make([]uint8, count)
for i := uint64(0); i < count; i += challengeStateBatchSize {
i := i
max := i + challengeStateBatchSize
if max > count {
max = count
m := i + challengeStateBatchSize
if m > count {
m = count
}

// Load details
Expand All @@ -245,10 +245,13 @@ func GetMultiChallengeStatesFast(rp *rocketpool.RocketPool, multicallAddress com
if err != nil {
return err
}
for j := i; j < max; j++ {
for j := i; j < m; j++ {
propID := big.NewInt(int64(proposalIds[j]))
challengedIndex := big.NewInt(int64(challengedIndices[j]))
mc.AddCall(rocketDAOProtocolVerifier, &rawStates[j], "getChallengeState", propID, challengedIndex)
err = mc.AddCall(rocketDAOProtocolVerifier, &rawStates[j], "getChallengeState", propID, challengedIndex)
if err != nil {
return fmt.Errorf("error adding challenge state call for proposal %d / index %d: %w", proposalIds[j], challengedIndices[j], err)
}
}
_, err = mc.FlexibleCall(true, opts)
if err != nil {
Expand Down
8 changes: 4 additions & 4 deletions bindings/deposit/deposit.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,21 +73,21 @@ func Deposit(rp *rocketpool.RocketPool, opts *bind.TransactOpts) (common.Hash, e
}

// Estimate the gas of AssignDeposits
func EstimateAssignDepositsGas(rp *rocketpool.RocketPool, max *big.Int, opts *bind.TransactOpts) (rocketpool.GasInfo, error) {
func EstimateAssignDepositsGas(rp *rocketpool.RocketPool, m *big.Int, opts *bind.TransactOpts) (rocketpool.GasInfo, error) {
rocketDepositPool, err := getRocketDepositPool(rp, nil)
if err != nil {
return rocketpool.GasInfo{}, err
}
return rocketDepositPool.GetTransactionGasInfo(opts, "assignDeposits", max)
return rocketDepositPool.GetTransactionGasInfo(opts, "assignDeposits", m)
}

// Assign deposits
func AssignDeposits(rp *rocketpool.RocketPool, max *big.Int, opts *bind.TransactOpts) (common.Hash, error) {
func AssignDeposits(rp *rocketpool.RocketPool, m *big.Int, opts *bind.TransactOpts) (common.Hash, error) {
rocketDepositPool, err := getRocketDepositPool(rp, nil)
if err != nil {
return common.Hash{}, err
}
tx, err := rocketDepositPool.Transact(opts, "assignDeposits", max)
tx, err := rocketDepositPool.Transact(opts, "assignDeposits", m)
if err != nil {
return common.Hash{}, fmt.Errorf("error assigning deposits: %w", err)
}
Expand Down
3 changes: 1 addition & 2 deletions bindings/legacy/v1.0.0/minipool/minipool.go
Original file line number Diff line number Diff line change
Expand Up @@ -544,7 +544,6 @@ func getRocketMinipoolManager(rp *rocketpool.RocketPool, address *common.Address
defer rocketMinipoolManagerLock.Unlock()
if address == nil {
return rp.VersionManager.V1_0_0.GetContract("rocketMinipoolManager", opts)
} else {
return rp.VersionManager.V1_0_0.GetContractWithAddress("rocketMinipoolManager", *address)
}
return rp.VersionManager.V1_0_0.GetContractWithAddress("rocketMinipoolManager", *address)
}
3 changes: 1 addition & 2 deletions bindings/legacy/v1.0.0/rewards/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,6 @@ func getRocketClaimNode(rp *rocketpool.RocketPool, address *common.Address, opts
defer rocketClaimNodeLock.Unlock()
if address == nil {
return rp.VersionManager.V1_0_0.GetContract("rocketClaimNode", opts)
} else {
return rp.VersionManager.V1_0_0.GetContractWithAddress("rocketClaimNode", *address)
}
return rp.VersionManager.V1_0_0.GetContractWithAddress("rocketClaimNode", *address)
}
3 changes: 1 addition & 2 deletions bindings/legacy/v1.0.0/rewards/rewards.go
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,6 @@ func getRocketRewardsPool(rp *rocketpool.RocketPool, address *common.Address, op
defer rocketRewardsPoolLock.Unlock()
if address == nil {
return rp.VersionManager.V1_0_0.GetContract("rocketRewardsPool", opts)
} else {
return rp.VersionManager.V1_0_0.GetContractWithAddress("rocketRewardsPool", *address)
}
return rp.VersionManager.V1_0_0.GetContractWithAddress("rocketRewardsPool", *address)
}
3 changes: 1 addition & 2 deletions bindings/legacy/v1.0.0/rewards/trusted-node.go
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,6 @@ func getRocketClaimTrustedNode(rp *rocketpool.RocketPool, address *common.Addres
defer rocketClaimTrustedNodeLock.Unlock()
if address == nil {
return rp.VersionManager.V1_0_0.GetContract("rocketClaimTrustedNode", opts)
} else {
return rp.VersionManager.V1_0_0.GetContractWithAddress("rocketClaimTrustedNode", *address)
}
return rp.VersionManager.V1_0_0.GetContractWithAddress("rocketClaimTrustedNode", *address)
}
3 changes: 1 addition & 2 deletions bindings/legacy/v1.0.0/utils/address_generation.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@ func getRocketMinipoolManager(rp *rocketpool.RocketPool, address *common.Address
defer rocketMinipoolManagerLock.Unlock()
if address == nil {
return rp.VersionManager.V1_0_0.GetContract("rocketMinipoolManager", opts)
} else {
return rp.VersionManager.V1_0_0.GetContractWithAddress("rocketMinipoolManager", *address)
}
return rp.VersionManager.V1_0_0.GetContractWithAddress("rocketMinipoolManager", *address)
}
3 changes: 1 addition & 2 deletions bindings/legacy/v1.1.0-rc1/rewards/rewards.go
Original file line number Diff line number Diff line change
Expand Up @@ -300,7 +300,6 @@ func getRocketRewardsPool(rp *rocketpool.RocketPool, address *common.Address, op
defer rocketRewardsPoolLock.Unlock()
if address == nil {
return rp.VersionManager.V1_1_0_RC1.GetContract("rocketRewardsPool", opts)
} else {
return rp.VersionManager.V1_1_0_RC1.GetContractWithAddress("rocketRewardsPool", *address)
}
return rp.VersionManager.V1_1_0_RC1.GetContractWithAddress("rocketRewardsPool", *address)
}
3 changes: 1 addition & 2 deletions bindings/legacy/v1.1.0/minipool/factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ func getRocketMinipoolFactory(rp *rocketpool.RocketPool, address *common.Address
defer rocketMinipoolFactoryLock.Unlock()
if address == nil {
return rp.VersionManager.V1_1_0.GetContract("rocketMinipoolFactory", opts)
} else {
return rp.VersionManager.V1_1_0.GetContractWithAddress("rocketMinipoolFactory", *address)
}
return rp.VersionManager.V1_1_0.GetContractWithAddress("rocketMinipoolFactory", *address)
}
3 changes: 1 addition & 2 deletions bindings/legacy/v1.1.0/minipool/queue.go
Original file line number Diff line number Diff line change
Expand Up @@ -296,7 +296,6 @@ func getRocketMinipoolQueue(rp *rocketpool.RocketPool, address *common.Address,
defer rocketMinipoolQueueLock.Unlock()
if address == nil {
return rp.VersionManager.V1_1_0.GetContract("rocketMinipoolQueue", opts)
} else {
return rp.VersionManager.V1_1_0.GetContractWithAddress("rocketMinipoolQueue", *address)
}
return rp.VersionManager.V1_1_0.GetContractWithAddress("rocketMinipoolQueue", *address)
}
3 changes: 1 addition & 2 deletions bindings/legacy/v1.1.0/network/prices.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,6 @@ func getRocketNetworkPrices(rp *rocketpool.RocketPool, address *common.Address,
defer rocketNetworkPricesLock.Unlock()
if address == nil {
return rp.VersionManager.V1_1_0.GetContract("rocketNetworkPrices", opts)
} else {
return rp.VersionManager.V1_1_0.GetContractWithAddress("rocketNetworkPrices", *address)
}
return rp.VersionManager.V1_1_0.GetContractWithAddress("rocketNetworkPrices", *address)
}
3 changes: 1 addition & 2 deletions bindings/legacy/v1.1.0/node/deposit.go
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,6 @@ func getRocketNodeDeposit(rp *rocketpool.RocketPool, address *common.Address, op
defer rocketNodeDepositLock.Unlock()
if address == nil {
return rp.VersionManager.V1_1_0.GetContract("rocketNodeDeposit", opts)
} else {
return rp.VersionManager.V1_1_0.GetContractWithAddress("rocketNodeDeposit", *address)
}
return rp.VersionManager.V1_1_0.GetContractWithAddress("rocketNodeDeposit", *address)
}
3 changes: 1 addition & 2 deletions bindings/legacy/v1.1.0/node/staking.go
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,6 @@ func getRocketNodeStaking(rp *rocketpool.RocketPool, address *common.Address, op
defer rocketNodeStakingLock.Unlock()
if address == nil {
return rp.VersionManager.V1_1_0.GetContract("rocketNodeStaking", opts)
} else {
return rp.VersionManager.V1_1_0.GetContractWithAddress("rocketNodeStaking", *address)
}
return rp.VersionManager.V1_1_0.GetContractWithAddress("rocketNodeStaking", *address)
}
10 changes: 0 additions & 10 deletions bindings/minipool/minipool-constructor.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ package minipool
import (
"fmt"
"strings"
"sync"

"github.com/ethereum/go-ethereum/accounts/abi"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
Expand Down Expand Up @@ -77,12 +76,3 @@ func createMinipoolContractFromAbi(rp *rocketpool.RocketPool, address common.Add
Client: rp.Client,
}, nil
}

// Get a minipool contract
var rocketMinipoolLock sync.Mutex

func getMinipoolContract(rp *rocketpool.RocketPool, minipoolAddress common.Address, opts *bind.CallOpts) (*rocketpool.Contract, error) {
rocketMinipoolLock.Lock()
defer rocketMinipoolLock.Unlock()
return rp.MakeContract("rocketMinipool", minipoolAddress, opts)
}
2 changes: 1 addition & 1 deletion bindings/minipool/minipool-contract-v2.go
Original file line number Diff line number Diff line change
Expand Up @@ -575,7 +575,7 @@ func (mp *minipool_v2) GetPrestakeEvent(intervalSize *big.Int, opts *bind.CallOp

// Decode the event
prestakeEvent := new(MinipoolPrestakeEvent)
mp.Contract.Contract.UnpackLog(prestakeEvent, "MinipoolPrestaked", log)
err = mp.Contract.Contract.UnpackLog(prestakeEvent, "MinipoolPrestaked", log)
if err != nil {
return PrestakeData{}, fmt.Errorf("Error unpacking prestake data: %w", err)
}
Expand Down
2 changes: 1 addition & 1 deletion bindings/minipool/minipool-contract-v3.go
Original file line number Diff line number Diff line change
Expand Up @@ -616,7 +616,7 @@ func (mp *minipool_v3) GetPrestakeEvent(intervalSize *big.Int, opts *bind.CallOp

// Decode the event
prestakeEvent := new(MinipoolPrestakeEvent)
mp.Contract.Contract.UnpackLog(prestakeEvent, "MinipoolPrestaked", log)
err = mp.Contract.Contract.UnpackLog(prestakeEvent, "MinipoolPrestaked", log)
if err != nil {
return PrestakeData{}, fmt.Errorf("Error unpacking prestake data: %w", err)
}
Expand Down
18 changes: 12 additions & 6 deletions bindings/network/voting.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,9 @@ func GetNodeInfoSnapshotFast(rp *rocketpool.RocketPool, blockNumber uint32, mult
votingInfos := make([]types.NodeVotingInfo, nodeCount)
for i := uint64(0); i < nodeCount; i += nodeVotingDetailsBatchSize {
i := i
max := i + nodeVotingDetailsBatchSize
if max > nodeCount {
max = nodeCount
m := i + nodeVotingDetailsBatchSize
if m > nodeCount {
m = nodeCount
}

// Load details
Expand All @@ -66,11 +66,17 @@ func GetNodeInfoSnapshotFast(rp *rocketpool.RocketPool, blockNumber uint32, mult
if err != nil {
return err
}
for j := i; j < max; j++ {
for j := i; j < m; j++ {
nodeAddress := nodeAddresses[j]
votingInfos[j].NodeAddress = nodeAddress
mc.AddCall(rocketNetworkVoting, &votingInfos[j].VotingPower, "getVotingPower", nodeAddress, blockNumber)
mc.AddCall(rocketNetworkVoting, &votingInfos[j].Delegate, "getDelegate", nodeAddress, blockNumber)
err = mc.AddCall(rocketNetworkVoting, &votingInfos[j].VotingPower, "getVotingPower", nodeAddress, blockNumber)
if err != nil {
return fmt.Errorf("error adding voting power call for node %s: %w", nodeAddress.Hex(), err)
}
err = mc.AddCall(rocketNetworkVoting, &votingInfos[j].Delegate, "getDelegate", nodeAddress, blockNumber)
if err != nil {
return fmt.Errorf("error adding delegate call for node %s: %w", nodeAddress.Hex(), err)
}
}
_, err = mc.FlexibleCall(true, opts)
if err != nil {
Expand Down
13 changes: 8 additions & 5 deletions bindings/node/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -173,9 +173,9 @@ func GetNodeAddressesFast(rp *rocketpool.RocketPool, multicallAddress common.Add
count := int(nodeCount)
for i := 0; i < count; i += nodeAddressFastBatchSize {
i := i
max := i + nodeAddressFastBatchSize
if max > count {
max = count
m := i + nodeAddressFastBatchSize
if m > count {
m = count
}

wg.Go(func() error {
Expand All @@ -184,8 +184,11 @@ func GetNodeAddressesFast(rp *rocketpool.RocketPool, multicallAddress common.Add
if err != nil {
return err
}
for j := i; j < max; j++ {
mc.AddCall(rocketNodeManager, &addresses[j], "getNodeAt", big.NewInt(int64(j)))
for j := i; j < m; j++ {
err = mc.AddCall(rocketNodeManager, &addresses[j], "getNodeAt", big.NewInt(int64(j)))
if err != nil {
return fmt.Errorf("error adding node at call for index %d: %w", j, err)
}
}
_, err = mc.FlexibleCall(true, opts)
if err != nil {
Expand Down
19 changes: 0 additions & 19 deletions bindings/rocketpool/contract.go
Original file line number Diff line number Diff line change
Expand Up @@ -155,25 +155,6 @@ func (c *Contract) estimateGasLimit(opts *bind.TransactOpts, input []byte) (uint

}

// Wait for a transaction to be mined and get a tx receipt
func (c *Contract) getTransactionReceipt(tx *types.Transaction) (*types.Receipt, error) {

// Wait for transaction to be mined
txReceipt, err := bind.WaitMined(context.Background(), c.Client, tx)
if err != nil {
return nil, err
}

// Check transaction status
if txReceipt.Status == 0 {
return txReceipt, errors.New("Transaction failed with status 0")
}

// Return
return txReceipt, nil

}

// Get contract events from a transaction
// eventPrototype must be an event struct type
// Returns a slice of untyped values; assert returned events to event struct type
Expand Down
9 changes: 3 additions & 6 deletions bindings/rocketpool/rocketpool.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,8 @@ func (rp *RocketPool) GetAddress(contractName string, opts *bind.CallOpts) (*com
if cached, ok := rp.getCachedAddress(contractName); ok {
if time.Now().Unix()-cached.time <= CacheTTL {
return cached.address, nil
} else {
rp.deleteCachedAddress(contractName)
}
rp.deleteCachedAddress(contractName)
}
}

Expand Down Expand Up @@ -150,9 +149,8 @@ func (rp *RocketPool) GetABI(contractName string, opts *bind.CallOpts) (*abi.ABI
if cached, ok := rp.getCachedABI(contractName); ok {
if time.Now().Unix()-cached.time <= CacheTTL {
return cached.abi, nil
} else {
rp.deleteCachedABI(contractName)
}
rp.deleteCachedABI(contractName)
}
}

Expand Down Expand Up @@ -215,9 +213,8 @@ func (rp *RocketPool) GetContract(contractName string, opts *bind.CallOpts) (*Co
if cached, ok := rp.getCachedContract(contractName); ok {
if time.Now().Unix()-cached.time <= CacheTTL {
return cached.contract, nil
} else {
rp.deleteCachedContract(contractName)
}
rp.deleteCachedContract(contractName)
}
}

Expand Down
3 changes: 1 addition & 2 deletions bindings/rocketpool/version-manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,8 @@ func getLegacyContract(rp *RocketPool, contractName string, m LegacyVersionWrapp
if cached, ok := rp.getCachedContract(legacyName); ok {
if time.Now().Unix()-cached.time <= CacheTTL {
return cached.contract, nil
} else {
rp.deleteCachedContract(legacyName)
}
rp.deleteCachedContract(legacyName)
}

// Try to get the legacy address from RocketStorage first
Expand Down
Loading
Loading