Skip to content

Commit f014a9e

Browse files
committed
Pass gas settings to the api
1 parent d152b4f commit f014a9e

File tree

100 files changed

+959
-1177
lines changed

Some content is hidden

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

100 files changed

+959
-1177
lines changed

bindings/utils/eth/units.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ func EthToWei(eth float64) *big.Int {
3939

4040
// Convert wei to gigawei
4141
func WeiToGwei(wei *big.Int) float64 {
42+
if wei == nil {
43+
return 0
44+
}
4245
var weiFloat big.Float
4346
var gwei big.Float
4447
weiFloat.SetInt(wei)

rocketpool/api/auction/bid-lot.go

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55
"math/big"
66

7+
"github.com/ethereum/go-ethereum/accounts/abi/bind"
78
"github.com/rocket-pool/smartnode/bindings/auction"
89
"github.com/rocket-pool/smartnode/bindings/settings/protocol"
910
"github.com/urfave/cli/v3"
@@ -99,7 +100,7 @@ func canBidOnLot(c *cli.Command, lotIndex uint64, amountWei *big.Int) (*api.CanB
99100

100101
}
101102

102-
func bidOnLot(c *cli.Command, lotIndex uint64, amountWei *big.Int) (*api.BidOnLotResponse, error) {
103+
func bidOnLot(c *cli.Command, lotIndex uint64, amountWei *big.Int, opts *bind.TransactOpts) (*api.BidOnLotResponse, error) {
103104

104105
// Get services
105106
if err := services.RequireNodeWallet(c); err != nil {
@@ -108,10 +109,6 @@ func bidOnLot(c *cli.Command, lotIndex uint64, amountWei *big.Int) (*api.BidOnLo
108109
if err := services.RequireRocketStorage(c); err != nil {
109110
return nil, err
110111
}
111-
w, err := services.GetWallet(c)
112-
if err != nil {
113-
return nil, err
114-
}
115112
rp, err := services.GetRocketPool(c)
116113
if err != nil {
117114
return nil, err
@@ -120,11 +117,6 @@ func bidOnLot(c *cli.Command, lotIndex uint64, amountWei *big.Int) (*api.BidOnLo
120117
// Response
121118
response := api.BidOnLotResponse{}
122119

123-
// Get transactor
124-
opts, err := w.GetNodeAccountTransactor()
125-
if err != nil {
126-
return nil, err
127-
}
128120
opts.Value = amountWei
129121

130122
// Override the provided pending TX if requested

rocketpool/api/auction/claim-lot.go

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55
"math/big"
66

7+
"github.com/ethereum/go-ethereum/accounts/abi/bind"
78
"github.com/rocket-pool/smartnode/bindings/auction"
89
"github.com/urfave/cli/v3"
910
"golang.org/x/sync/errgroup"
@@ -92,7 +93,7 @@ func canClaimFromLot(c *cli.Command, lotIndex uint64) (*api.CanClaimFromLotRespo
9293

9394
}
9495

95-
func claimFromLot(c *cli.Command, lotIndex uint64) (*api.ClaimFromLotResponse, error) {
96+
func claimFromLot(c *cli.Command, lotIndex uint64, opts *bind.TransactOpts) (*api.ClaimFromLotResponse, error) {
9697

9798
// Get services
9899
if err := services.RequireNodeWallet(c); err != nil {
@@ -101,10 +102,6 @@ func claimFromLot(c *cli.Command, lotIndex uint64) (*api.ClaimFromLotResponse, e
101102
if err := services.RequireRocketStorage(c); err != nil {
102103
return nil, err
103104
}
104-
w, err := services.GetWallet(c)
105-
if err != nil {
106-
return nil, err
107-
}
108105
rp, err := services.GetRocketPool(c)
109106
if err != nil {
110107
return nil, err
@@ -113,12 +110,6 @@ func claimFromLot(c *cli.Command, lotIndex uint64) (*api.ClaimFromLotResponse, e
113110
// Response
114111
response := api.ClaimFromLotResponse{}
115112

116-
// Get transactor
117-
opts, err := w.GetNodeAccountTransactor()
118-
if err != nil {
119-
return nil, err
120-
}
121-
122113
// Override the provided pending TX if requested
123114
err = eth1.CheckForNonceOverride(c, opts)
124115
if err != nil {

rocketpool/api/auction/create-lot.go

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package auction
33
import (
44
"fmt"
55

6+
"github.com/ethereum/go-ethereum/accounts/abi/bind"
67
"github.com/rocket-pool/smartnode/bindings/auction"
78
"github.com/rocket-pool/smartnode/bindings/settings/protocol"
89
"github.com/urfave/cli/v3"
@@ -79,7 +80,7 @@ func canCreateLot(c *cli.Command) (*api.CanCreateLotResponse, error) {
7980

8081
}
8182

82-
func createLot(c *cli.Command) (*api.CreateLotResponse, error) {
83+
func createLot(c *cli.Command, opts *bind.TransactOpts) (*api.CreateLotResponse, error) {
8384

8485
// Get services
8586
if err := services.RequireNodeWallet(c); err != nil {
@@ -88,10 +89,6 @@ func createLot(c *cli.Command) (*api.CreateLotResponse, error) {
8889
if err := services.RequireRocketStorage(c); err != nil {
8990
return nil, err
9091
}
91-
w, err := services.GetWallet(c)
92-
if err != nil {
93-
return nil, err
94-
}
9592
rp, err := services.GetRocketPool(c)
9693
if err != nil {
9794
return nil, err
@@ -100,12 +97,6 @@ func createLot(c *cli.Command) (*api.CreateLotResponse, error) {
10097
// Response
10198
response := api.CreateLotResponse{}
10299

103-
// Get transactor
104-
opts, err := w.GetNodeAccountTransactor()
105-
if err != nil {
106-
return nil, err
107-
}
108-
109100
// Override the provided pending TX if requested
110101
err = eth1.CheckForNonceOverride(c, opts)
111102
if err != nil {

rocketpool/api/auction/recover-lot.go

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55
"math/big"
66

7+
"github.com/ethereum/go-ethereum/accounts/abi/bind"
78
"github.com/rocket-pool/smartnode/bindings/auction"
89
"github.com/urfave/cli/v3"
910
"golang.org/x/sync/errgroup"
@@ -97,7 +98,7 @@ func canRecoverRplFromLot(c *cli.Command, lotIndex uint64) (*api.CanRecoverRPLFr
9798

9899
}
99100

100-
func recoverRplFromLot(c *cli.Command, lotIndex uint64) (*api.RecoverRPLFromLotResponse, error) {
101+
func recoverRplFromLot(c *cli.Command, lotIndex uint64, opts *bind.TransactOpts) (*api.RecoverRPLFromLotResponse, error) {
101102

102103
// Get services
103104
if err := services.RequireNodeWallet(c); err != nil {
@@ -106,10 +107,6 @@ func recoverRplFromLot(c *cli.Command, lotIndex uint64) (*api.RecoverRPLFromLotR
106107
if err := services.RequireRocketStorage(c); err != nil {
107108
return nil, err
108109
}
109-
w, err := services.GetWallet(c)
110-
if err != nil {
111-
return nil, err
112-
}
113110
rp, err := services.GetRocketPool(c)
114111
if err != nil {
115112
return nil, err
@@ -118,12 +115,6 @@ func recoverRplFromLot(c *cli.Command, lotIndex uint64) (*api.RecoverRPLFromLotR
118115
// Response
119116
response := api.RecoverRPLFromLotResponse{}
120117

121-
// Get transactor
122-
opts, err := w.GetNodeAccountTransactor()
123-
if err != nil {
124-
return nil, err
125-
}
126-
127118
// Override the provided pending TX if requested
128119
err = eth1.CheckForNonceOverride(c, opts)
129120
if err != nil {

rocketpool/api/auction/routes.go

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88

99
"github.com/urfave/cli/v3"
1010

11+
"github.com/rocket-pool/smartnode/shared/services"
1112
apiutils "github.com/rocket-pool/smartnode/shared/utils/api"
1213
)
1314

@@ -29,7 +30,12 @@ func RegisterRoutes(mux *http.ServeMux, c *cli.Command) {
2930
})
3031

3132
mux.HandleFunc("/api/auction/create-lot", func(w http.ResponseWriter, r *http.Request) {
32-
resp, err := createLot(c)
33+
opts, err := services.GetNodeAccountTransactorFromRequest(c, r)
34+
if err != nil {
35+
apiutils.WriteErrorResponse(w, err)
36+
return
37+
}
38+
resp, err := createLot(c, opts)
3339
apiutils.WriteResponse(w, resp, err)
3440
})
3541

@@ -49,7 +55,12 @@ func RegisterRoutes(mux *http.ServeMux, c *cli.Command) {
4955
apiutils.WriteErrorResponse(w, err)
5056
return
5157
}
52-
resp, err := bidOnLot(c, lotIndex, amountWei)
58+
opts, err := services.GetNodeAccountTransactorFromRequest(c, r)
59+
if err != nil {
60+
apiutils.WriteErrorResponse(w, err)
61+
return
62+
}
63+
resp, err := bidOnLot(c, lotIndex, amountWei, opts)
5364
apiutils.WriteResponse(w, resp, err)
5465
})
5566

@@ -69,7 +80,12 @@ func RegisterRoutes(mux *http.ServeMux, c *cli.Command) {
6980
apiutils.WriteErrorResponse(w, err)
7081
return
7182
}
72-
resp, err := claimFromLot(c, lotIndex)
83+
opts, err := services.GetNodeAccountTransactorFromRequest(c, r)
84+
if err != nil {
85+
apiutils.WriteErrorResponse(w, err)
86+
return
87+
}
88+
resp, err := claimFromLot(c, lotIndex, opts)
7389
apiutils.WriteResponse(w, resp, err)
7490
})
7591

@@ -89,7 +105,12 @@ func RegisterRoutes(mux *http.ServeMux, c *cli.Command) {
89105
apiutils.WriteErrorResponse(w, err)
90106
return
91107
}
92-
resp, err := recoverRplFromLot(c, lotIndex)
108+
opts, err := services.GetNodeAccountTransactorFromRequest(c, r)
109+
if err != nil {
110+
apiutils.WriteErrorResponse(w, err)
111+
return
112+
}
113+
resp, err := recoverRplFromLot(c, lotIndex, opts)
93114
apiutils.WriteResponse(w, resp, err)
94115
})
95116
}

rocketpool/api/megapool/claim-refunds.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"fmt"
55
"math/big"
66

7+
"github.com/ethereum/go-ethereum/accounts/abi/bind"
78
"github.com/rocket-pool/smartnode/bindings/megapool"
89
"github.com/urfave/cli/v3"
910

@@ -83,7 +84,7 @@ func canClaimRefund(c *cli.Command) (*api.CanClaimRefundResponse, error) {
8384

8485
}
8586

86-
func claimRefund(c *cli.Command) (*api.ClaimRefundResponse, error) {
87+
func claimRefund(c *cli.Command, opts *bind.TransactOpts) (*api.ClaimRefundResponse, error) {
8788

8889
// Get services
8990
if err := services.RequireNodeRegistered(c); err != nil {
@@ -119,12 +120,6 @@ func claimRefund(c *cli.Command) (*api.ClaimRefundResponse, error) {
119120
return nil, err
120121
}
121122

122-
// Get transactor
123-
opts, err := w.GetNodeAccountTransactor()
124-
if err != nil {
125-
return nil, err
126-
}
127-
128123
// Override the provided pending TX if requested
129124
err = eth1.CheckForNonceOverride(c, opts)
130125
if err != nil {

rocketpool/api/megapool/delegate.go

Lines changed: 3 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package megapool
33
import (
44
"fmt"
55

6+
"github.com/ethereum/go-ethereum/accounts/abi/bind"
67
"github.com/ethereum/go-ethereum/common"
78
"github.com/rocket-pool/smartnode/bindings/megapool"
89
"github.com/rocket-pool/smartnode/shared/services"
@@ -49,16 +50,12 @@ func canDelegateUpgrade(c *cli.Command, megapoolAddress common.Address) (*api.Me
4950
return &response, nil
5051
}
5152

52-
func delegateUpgrade(c *cli.Command, megapoolAddress common.Address) (*api.MegapoolDelegateUpgradeResponse, error) {
53+
func delegateUpgrade(c *cli.Command, megapoolAddress common.Address, opts *bind.TransactOpts) (*api.MegapoolDelegateUpgradeResponse, error) {
5354

5455
// Get services
5556
if err := services.RequireNodeRegistered(c); err != nil {
5657
return nil, err
5758
}
58-
w, err := services.GetWallet(c)
59-
if err != nil {
60-
return nil, err
61-
}
6259
rp, err := services.GetRocketPool(c)
6360
if err != nil {
6461
return nil, err
@@ -73,12 +70,6 @@ func delegateUpgrade(c *cli.Command, megapoolAddress common.Address) (*api.Megap
7370
return nil, err
7471
}
7572

76-
// Get transactor
77-
opts, err := w.GetNodeAccountTransactor()
78-
if err != nil {
79-
return nil, err
80-
}
81-
8273
// Override the provided pending TX if requested
8374
err = eth1.CheckForNonceOverride(c, opts)
8475
if err != nil {
@@ -178,15 +169,11 @@ func canSetUseLatestDelegate(c *cli.Command, megapoolAddress common.Address, use
178169

179170
}
180171

181-
func setUseLatestDelegate(c *cli.Command, megapoolAddress common.Address, useLatest bool) (*api.MegapoolSetUseLatestDelegateResponse, error) {
172+
func setUseLatestDelegate(c *cli.Command, megapoolAddress common.Address, useLatest bool, opts *bind.TransactOpts) (*api.MegapoolSetUseLatestDelegateResponse, error) {
182173
// Get services
183174
if err := services.RequireNodeRegistered(c); err != nil {
184175
return nil, err
185176
}
186-
w, err := services.GetWallet(c)
187-
if err != nil {
188-
return nil, err
189-
}
190177
rp, err := services.GetRocketPool(c)
191178
if err != nil {
192179
return nil, err
@@ -201,12 +188,6 @@ func setUseLatestDelegate(c *cli.Command, megapoolAddress common.Address, useLat
201188
return nil, err
202189
}
203190

204-
// Get transactor
205-
opts, err := w.GetNodeAccountTransactor()
206-
if err != nil {
207-
return nil, err
208-
}
209-
210191
// Override the provided pending TX if requested
211192
err = eth1.CheckForNonceOverride(c, opts)
212193
if err != nil {

rocketpool/api/megapool/dissolve-validator.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package megapool
33
import (
44
"fmt"
55

6+
"github.com/ethereum/go-ethereum/accounts/abi/bind"
67
"github.com/rocket-pool/smartnode/bindings/megapool"
78
"github.com/rocket-pool/smartnode/shared/services"
89
"github.com/rocket-pool/smartnode/shared/types/api"
@@ -83,7 +84,7 @@ func canDissolveValidator(c *cli.Command, validatorId uint32) (*api.CanDissolveV
8384

8485
}
8586

86-
func dissolveValidator(c *cli.Command, validatorId uint32) (*api.DissolveValidatorResponse, error) {
87+
func dissolveValidator(c *cli.Command, validatorId uint32, opts *bind.TransactOpts) (*api.DissolveValidatorResponse, error) {
8788

8889
// Get services
8990
if err := services.RequireNodeRegistered(c); err != nil {
@@ -119,12 +120,6 @@ func dissolveValidator(c *cli.Command, validatorId uint32) (*api.DissolveValidat
119120
return nil, err
120121
}
121122

122-
// Get transactor
123-
opts, err := w.GetNodeAccountTransactor()
124-
if err != nil {
125-
return nil, err
126-
}
127-
128123
// Override the provided pending TX if requested
129124
err = eth1.CheckForNonceOverride(c, opts)
130125
if err != nil {

rocketpool/api/megapool/dissolve-with-proof.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package megapool
33
import (
44
"fmt"
55

6+
"github.com/ethereum/go-ethereum/accounts/abi/bind"
67
"github.com/ethereum/go-ethereum/common"
78
"github.com/rocket-pool/smartnode/bindings/megapool"
89
"github.com/rocket-pool/smartnode/bindings/types"
@@ -110,7 +111,7 @@ func canDissolveWithProof(c *cli.Command, validatorId uint32) (*api.CanDissolveW
110111

111112
}
112113

113-
func dissolveWithProof(c *cli.Command, validatorId uint32) (*api.DissolveWithProofResponse, error) {
114+
func dissolveWithProof(c *cli.Command, validatorId uint32, opts *bind.TransactOpts) (*api.DissolveWithProofResponse, error) {
114115

115116
// Get services
116117
if err := services.RequireNodeRegistered(c); err != nil {
@@ -165,12 +166,6 @@ func dissolveWithProof(c *cli.Command, validatorId uint32) (*api.DissolveWithPro
165166
return nil, err
166167
}
167168

168-
// Get transactor
169-
opts, err := w.GetNodeAccountTransactor()
170-
if err != nil {
171-
return nil, err
172-
}
173-
174169
// Override the provided pending TX if requested
175170
err = eth1.CheckForNonceOverride(c, opts)
176171
if err != nil {

0 commit comments

Comments
 (0)