* Don't use move semantics if not needed (#8793)
* SDK: Deboilerplate `TransportError` with thiserror
* Enable interchange between `TransportError` and `ClientError`
* SDK: Retval consistency between `Client` and `AsyncClient` traits
* Client: Introduce/use `Result` type
* Client: Remove unused `RpcResponseIn` type
* Client: Rename `RpcResponse` to more appropriate `RpcResult`
* Client: Death to `io::Result` return types
* Client: Struct-ify `ClientError`
* Client: Add optional `command` parameter to `ClientError`
* RpcClient: Stop abusing `io::Error` (low-fruit)
* ClientError: Use `thiserror`'s `Display` impl
* Extend `RpcError`'s utility
* RpcClient: Stop abusing `io::Error` (the rest)
* CLI: Shim `main()` so we can `Display` format errors
* claputils: format input validator errors with `Display`
They are intended to be displayed to users
* SDK: `thiserror` for hash and sig parse erros
* Keygen: Shim main to format errors with `Display`
* SDK: `thiserror` for `InstructionError`
* CLI: `thiserror` for `CliError`
* CLI: Format user messages with `Display`
* Client: Tweak `Display` for `ClientError`
* RpcClient: Improve messaging when TX cannot be confirmed
* fu death io res retval
* CLI/Keygen - fix shell return value on error
* Tweak `InstructionError` `Display` messages as per review
* Cleanup hackjob return code fix
* Embrace that which you hate most
* Too much...
Co-authored-by: Jack May <jack@solana.com>
* Add snapshot hash of full accounts state
* Use normal hashing for the accounts delta state
* Add merkle
(cherry picked from commit 947a339714)
Co-authored-by: sakridge <sakridge@gmail.com>
* Add keypair_util_from_path helper
* Cli: impl config.keypair as a trait object
* SDK: Add Debug and PartialEq for dyn Signer
* ClapUtils: Arg parsing from pubkey+signers to Presigner
* Impl Signers for &dyn Signer collections
* CLI: Add helper for getting signers from args
* CLI: Replace SigningAuthority with Signer trait-objs
* CLI: Drop disused signers command field
* CLI: Drop redundant tests
* Add clap validator that handles all current signer types
* clap_utils: Factor Presigner resolution to helper
* SDK: `From` for boxing Signer implementors to trait objects
* SDK: Derive `Clone` for `Presigner`
* Remove panic
* Cli: dedup signers in transfer for remote-wallet ergonomics
* Update docs vis-a-vis ASK changes
* Cli: update transaction types to use new dynamic-signer methods
* CLI: Fix tests No. 1
what to do about write_keypair outstanding
* Work around `CliConfig`'s signer not necessarily being a `Keypair`
* CLI: Fix tests No. 2
* Remove unused arg
* Remove unused methods
* Move offline arg constants upstream
* Make cli signing fallible
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
* Add fallible methods to KeypairUtil
* Add RemoteKeypair struct and impl KeypairUtil
* Implement RemoteKeypair in keygen; also add parse_keypair_path for cleanup