* CLI: Factor out ProgramId moniker resolution
(cherry picked from commit 84e7ba0b3f)
* CLI: Make derived address seed.len() check a clap validator
(cherry picked from commit 16e0a4b412)
* CLI: Add hidden support for `SystemInstruction::TransferWithSeed`
(cherry picked from commit 700685c223)
Co-authored-by: Trent Nelson <trent@solana.com>
* Upgrade to Rust v1.49.0
(cherry picked from commit cbffab7850)
# Conflicts:
# core/src/crds_value.rs
* rebase
Co-authored-by: Michael Vines <mvines@gmail.com>
* Make commitment a global arg
* Add commitment to solana/cli/config.yml
* Fixup a couple Display/Verbose bugs
(cherry picked from commit a7086a0f83)
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Introduce rpc url monikers for cli
* Use https:// and support initials as well
(cherry picked from commit 54a5876c48)
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
* 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
* SDK: Add `NullSigner` implementation
* SDK: Split `Transaction::verify()` to gain access to results
* CLI: Minor refactor of --sign_only result parsing
* CLI: Enable paritial signing
Signers specified by pubkey, but without a matching --signer arg
supplied fall back to a `NullSigner` when --sign-only is in effect.
This allows their pubkey to be used for TX construction as usual,
but leaves their `sign_message()` a NOP. As such, with --sign-only
in effect, signing and verification must be done separately, with
the latter's per-signature results considered
* CLI: Surface/report missing/bad signers to user
* CLI: Suppress --sign-only JSON output
* nits
* Docs for multi-session offline signing