Skip to content

Commit 18c4e6c

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

101 files changed

Lines changed: 1012 additions & 1202 deletions

File tree

Some content is hidden

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

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-cli/megapool/commands.go

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -409,36 +409,36 @@ func RegisterCommands(app *cli.Command, name string, aliases []string) {
409409
return distribute(c.Bool("yes"))
410410
},
411411
},
412-
// Add set-use-latest-delegate command
413-
{
414-
Name: "set-use-latest-delegate",
415-
Aliases: []string{"l"},
416-
Usage: "Set the megapool to always use the latest delegate",
417-
UsageText: "rocketpool megapool set-use-latest-delegate [true|false]",
418-
Arguments: []cli.Argument{
419-
&cli.StringArgs{
420-
Name: "use-latest-delegate",
421-
Min: 1,
422-
Max: 1,
412+
// Add set-use-latest-delegate command
413+
{
414+
Name: "set-use-latest-delegate",
415+
Aliases: []string{"l"},
416+
Usage: "Set the megapool to always use the latest delegate",
417+
UsageText: "rocketpool megapool set-use-latest-delegate [true|false]",
418+
Arguments: []cli.Argument{
419+
&cli.StringArgs{
420+
Name: "use-latest-delegate",
421+
Min: 1,
422+
Max: 1,
423+
},
423424
},
424-
},
425-
Action: func(ctx context.Context, c *cli.Command) error {
425+
Action: func(ctx context.Context, c *cli.Command) error {
426426

427-
vals := c.StringArgs("use-latest-delegate")
428-
useLatest, err := cliutils.ValidateBool("use-latest-delegate", vals[0])
429-
if err != nil {
430-
return err
431-
}
427+
vals := c.StringArgs("use-latest-delegate")
428+
useLatest, err := cliutils.ValidateBool("use-latest-delegate", vals[0])
429+
if err != nil {
430+
return err
431+
}
432432

433-
return setUseLatestDelegateMegapool(useLatest, c.Bool("yes"))
434-
},
435-
Flags: []cli.Flag{
436-
&cli.BoolFlag{
437-
Name: "yes",
438-
Usage: "Automatically confirm the action",
433+
return setUseLatestDelegateMegapool(useLatest, c.Bool("yes"))
434+
},
435+
Flags: []cli.Flag{
436+
&cli.BoolFlag{
437+
Name: "yes",
438+
Usage: "Automatically confirm the action",
439+
},
439440
},
440441
},
441442
},
442-
},
443443
})
444444
}

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 {

0 commit comments

Comments
 (0)