Cli: transfer ALL; check spend+fee in client (#10012)

* lamports->SOL in user-facing error msg

* Check for sufficient balance for spend and fee

* Add ALL option to solana transfer

* Rework TransferAmount to check for sign_only in parse

* Refactor TransferAmount & fee-check handling to be more general

* Add addl checks mechanism

* Move checks out of cli.rs

* Rename to SpendAmount to be more general & move

* Impl ALL/spend helpers for create-nonce-account

* Impl spend helpers for create-vote-account

* Impl ALL/spend helpers for create-stake-account

* Impl spend helpers for ping

* Impl ALL/spend helpers for pay

* Impl spend helpers for validator-info

* Remove unused fns

* Remove retry_get_balance

* Add a couple unit tests

* Rework send_util fn signatures
This commit is contained in:
Tyera Eulberg
2020-05-14 12:24:14 -06:00
committed by GitHub
parent 4e4a21f9b7
commit ed53a70b5c
21 changed files with 929 additions and 443 deletions

View File

@ -664,7 +664,7 @@ pub fn deploy(
let progress_bar = new_spinner_progress_bar();
progress_bar.set_message(&format!("{}Checking cluster...", LOOKING_GLASS));
let balance = rpc_client
.retry_get_balance(&from_keypair.pubkey(), 5)
.get_balance(&from_keypair.pubkey())
.map_err(|err| {
format!(
"Unable to get the account balance of {}: {}",
@ -672,7 +672,7 @@ pub fn deploy(
)
})?;
progress_bar.finish_and_clear();
if balance.unwrap_or(0) == 0 {
if balance == 0 {
return Err(format!("{} account balance is empty", from_keypair_file));
}