* add tests for validating `Pubkey` and `Hash`
* add pubkey signature parser
* add parsers for straightforward validators
* add parser for token amounts
* add parser for derivation and seeds
* resolve warnings from deprecations in clap-v3-utils
* remove some deprecated functions from `solana_keygen`
* refactor signer related input parsers into a submodule
* fix deprecation notice for utl
* refactor parsers in `input_validators` to `input_parsers`
* cargo fmt
* Apply suggestions from code review
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
* Update clap-v3-utils/src/input_parsers/mod.rs
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
* mionr fixes to build
* add deprecation notice for old `input_parsers::signer` functions
* update `UiTokenAmount` to `Amount`
* refactor to-be-deprecated functions back to `input_parsers/mod.rs
* fmt
---------
Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
* move mnemonic clap logic from keygen to clap-v3-utils
* move derivation path clap logic from keygen to clap-v3-utils
* move keygen clap logic from keygen to clap-v3-utils
* resolve error from rebase
* resolve conflict from rebase
* reorganize derivation_path and mnemonic as modules inside keygen
* implement EncodableKey for ElGamalKeypair
* implement EncodableKey for AeKey
* add keypair_from_path and keypair_from_seed support for encryption keys
* remove duplicate methods from traits
* Add find-program-address solana cli command
* clippy
* clippy after rebase
* rename find-program-address -> find-program-derived-address
* rename is_complex_seed -> is_structured_seed
* add validator is_structured_seed to clap-v3-utils
* return CliError::BadParameter for PROGRAM_ID arg in case of incorrect parsing
* improve help for SEEDS arg
* extend About for create-address-with-seed command
* fix SEED help
* generalize `Keypair` to using `EncodableKey` trait in clap-v3-utils
* add associated `Pubkey` type to `EncodableKey`
* remove associated type `Pubkey` from `EncodableKey`
* rename `EncodableKey` associated function names
* remove default overrides for `{read,write}_file`
* resolve dependencies for test
* remove `pubkey_string` from `EncodableKey` trait
* introduce workspace.package
* introduce workspace.dependencies
* read version from root cargo.toml
* pass check when version = { workspace = true }
* don't bump version when version = { workspace = true }
* including workspace Cargo.toml when bump version
* programs/sbf use workspace inheritance
* fix increasing cargo version ignore program/sbf/Cargo.toml
* introduce workspace.package
* introduce workspace.dependencies
* read version from root cargo.toml
* pass check when version = { workspace = true }
* don't bump version when version = { workspace = true }
* including workspace Cargo.toml when bump version
* programs/sbf use workspace inheritance
* fix increasing cargo version ignore program/sbf/Cargo.toml