rocket-pool / smartnode

The CLI package for Rocket Pool smart nodes.
GNU General Public License v3.0
145 stars 114 forks source link

Unable to send ETH: gas required exceeds allowance #127

Open parasyte opened 3 years ago

parasyte commented 3 years ago

I created a minipool after depositing 32 ETH, refunded the 16 ETH, and then tried to send the balance to my MetaMask address:

$ rpl node status

The node 0x51E726E2952fd94037C2Ad4dEade6d6e27bA041f has a balance of 16.597431 ETH, 0.000000 RPL and 0.000000 nETH.

The node is registered with Rocket Pool with a timezone location of America/Los_Angeles.

The node has a total stake of 160.000000 RPL and an effective stake of 160.000000 RPL, allowing it to run 2 minipool(s) in total.
The node must keep at least 80.000000 RPL staked to collateralize its minipools and claim RPL rewards.

The node has a total of 1 minipool(s):
- 1 staking (after eth2 activation)

$ rpl node send 16.597431 ETH 0x7cebB5D35671D4ffbbb6a08CbE38C8d026204581

Are you sure you want to send 16.597431 eth to 0x7cebB5D35671D4ffbbb6a08CbE38C8d026204581? This action cannot be undone! [y/n]
y

Could not send tokens from node: gas required exceeds allowance (798)

The solution is leaving some ETH in the wallet to pay for gas. For Goerli, the gas price is 1 gwei. Subtract 0.000021 to pay for gas ... Sending on mainnet will require selecting a competitive gas price.

Provide a friendly error message that suggests how to address the issue or provide an option to set the gas price and subtract that from the amount? When I hit this issue, I expected it to just do the most obvious thing for me.

moles1 commented 3 years ago

FYI gas price (in gwei) and limit can be set as follows:

rpl --gasPrice 20 --gasLimit 21000 node send 16.597431 ETH 0x7cebB5D35671D4ffbbb6a08CbE38C8d026204581

But agree that UX improvements can be made here so will leave this issue open.