Commit Graph

54 Commits

Author SHA1 Message Date
Michael Vines 7027d56064 Resolve nightly-2021-10-05 clippy complaints 2021-10-06 10:37:58 -07:00
Trent Nelson 2af5ec4f57 sdk: add `is_interactive()` method `Signer` trait 2021-07-03 07:33:59 +00:00
Alexander Meißner 6514096a67 chore: cargo +nightly clippy --fix -Z unstable-options 2021-06-18 10:42:46 -07:00
dependabot[bot] 527b07966f
chore: bump semver from 0.11.0 to 1.0.3 (#17871)
* chore: bump semver from 0.11.0 to 1.0.3

Bumps [semver](https://github.com/dtolnay/semver) from 0.11.0 to 1.0.3.
- [Release notes](https://github.com/dtolnay/semver/releases)
- [Commits](https://github.com/dtolnay/semver/compare/0.11.0...1.0.3)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* [auto-commit] Update all Cargo lock files

* Use constructor to avoid pre/build typing issues

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <you@example.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-06-10 13:02:31 -06:00
Tyera Eulberg d6f30b7537
Refactor SignerSource to expose DerivationPath to other kinds of signers (#16933)
* One use statement

* Add stdin uri scheme

* Convert parse_signer_source to return Result

* A-Z deps

* Convert Usb data to Locator

* Pull DerivationPath out of Locator

* Wrap SignerSource to share derivation_path

* Review comments

* Check Filepath existence, readability in parse_signer_source
2021-04-29 01:42:21 -06:00
Trent Nelson cac666d035 remote-wallet: Move `Locator` to its own module 2021-04-27 17:54:02 -06:00
Trent Nelson 4ce4f04c58 remote-wallet: `derivation-path` crate doesn't like empty trailing child indexes 2021-04-27 17:54:02 -06:00
Trent Nelson 3d12be29ec remote-wallet: Plumb `Locator` into `RemoteWalletInfo` 2021-04-27 17:54:02 -06:00
Trent Nelson 64fcb792c2 remote-wallet: Add helpers for locating remote wallets 2021-04-27 17:54:02 -06:00
Tyera Eulberg 185bbf2db5
Wrap derivation_path::DerivationPath (#16609)
* Replace custom DerivationPath impl

* Add method to parse full-path from str with hardening

* Convert Bip44 to trait

* Hoist more work on derivation-path

* Privatize Bip44 trait
2021-04-19 20:57:43 +00:00
Michael Vines a911ae00ba clippy 2021-04-18 20:55:02 -07:00
Tyera Eulberg 52f4b96a80
Move derivation path into sdk (#16603)
* Move DerivationPath to sdk

* Remove eprintln
2021-04-16 22:03:24 +00:00
Trent Nelson 2dabcac0da remote-wallet: Expose Ledger app settings 2021-03-18 07:29:16 +00:00
Michael Vines 5df36aec7d Pacify clippy 2021-02-19 20:08:41 -08:00
Trent Nelson 7f7370c306 Re-allow clippy::integer_arithmetic at crate-level 2021-02-17 13:55:08 -07:00
Michael Vines 7143aaa89b Clippy 2020-12-14 08:03:29 -08:00
Michael Vines 7bc073defe Run `codemod --extensions rs Pubkey::new_rand solana_sdk::pubkey::new_rand` 2020-10-21 19:08:13 -07:00
Trent Nelson f1a2ad1b7d remote-wallet: Append wallet "name" to entries in selector UI 2020-10-07 22:07:46 -06:00
Trent Nelson 8e3353d9ef remote-wallet: Select hardware wallets based on host device path 2020-10-07 22:07:46 -06:00
Trent Nelson dff8242887 Don't query modern Ledger wallet app version with deprecated payload size 2020-09-03 20:51:33 +00:00
Trent Nelson b0d1c70718 RemoteWallet: Improve DerivationPathComponent FromStr readability 2020-07-21 03:09:01 +00:00
Trent Nelson 842cab2739
Remote Wallet: Stricter derivation path component parsing (#10725) 2020-06-22 17:10:11 +00:00
Greg Fitzgerald 0550b893b0
Fix typos (#10675)
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
2020-06-17 20:54:52 -07:00
Greg Fitzgerald d9919b99d2
Remove folds (#10128)
automerge
2020-05-19 18:13:41 -07:00
Kristofer Peterson 58ef02f02b
9951 clippy errors in the test suite (#10030)
automerge
2020-05-15 09:35:43 -07:00
Tyera Eulberg 63813fe69f
Add Ledger error codes (#10056)
automerge
2020-05-14 21:52:11 -07:00
Tyera Eulberg 41fec5bd5b
Handle outdated and current ledger-solana-apps (#9605)
* Add version check, handling for outdated+current ledger-solana-apps

* Add derivation-path prefix
2020-04-20 14:57:37 -06:00
Jack May 9aab0b9388
More custom error rename (#9227)
automerge
2020-04-01 11:13:31 -07:00
Tyera Eulberg 6b9a0935c1
Some Cli polish (#8966)
automerge
2020-03-19 12:03:36 -07:00
Tyera Eulberg 6d0318cbe6
Remove product string from device keypair URL (#8942)
* Remove product string from device url

* Update docs
2020-03-18 13:36:48 -06:00
Tyera Eulberg 2237f47b90
Sort device paths for select (#8896) 2020-03-16 18:23:21 -06:00
Tyera Eulberg 3c2aff2b5b
Cli: Add resolve-signer subcommand (#8859)
* Expose remote-wallet device pretty path

* Add resolve-signer helpers

* Add cli resolve-signer subcommand

* Print pretty-path in waiting msg
2020-03-14 20:48:41 -07:00
Tyera Eulberg f3ed00e28e
Add checkmark (#8781)
automerge
2020-03-10 17:28:50 -07:00
Tyera Eulberg 2c4079f4c8
Print approved msg after Ledger interaction (#8771)
automerge
2020-03-10 14:08:51 -07:00
Greg Fitzgerald 5fa397ceed
Remove --derivation-path option (#8741)
automerge
2020-03-09 17:49:01 -07:00
Tyera Eulberg e277437bd2
Limit waiting-message to single- or last-chunk apdus (#8730) 2020-03-09 15:22:50 -06:00
dependabot-preview[bot] beead7e54d
Bump hidapi from 1.1.1 to 1.2.0 (#8588)
automerge
2020-03-09 11:53:47 -07:00
Tyera Eulberg ca8bf8f964
Ledger: return specific error if ledger-app-solana is not running (#8684)
* Specific error if ledger-app-solana is not running

* Return helpful error

* Include signer name in multiple-device prompt
2020-03-06 16:03:23 -07:00
Tyera Eulberg 0b66ae5c53
Ledger messaging cleanup (#8506) 2020-02-27 12:23:13 -07:00
Tyera Eulberg f6f0f94e17
Add flag to confirm key on device (#8478) 2020-02-26 15:24:44 -07:00
Tyera Eulberg 3b648e71e6
Ledger hardware wallet docs (#8472)
* Update protocol documentation

* Correct app-version command const

* Rough initial Ledger docs

* Add more docs

* Cleanup

* Add remote-wallet to docs TOC

Co-authored-by: Greg Fitzgerald <greg@solana.com>
2020-02-26 11:04:28 -07:00
Tyera Eulberg 6b99ab3a57
Ledger key path rework (#8453)
automerge
2020-02-25 16:41:21 -08:00
Tyera Eulberg b7755123c1
Make solana root key accessible on Ledger (#8421)
* Use 44/501 key as ledger id

* Add error codes
2020-02-24 22:38:06 -07:00
Tyera Eulberg 12a9b5f35e
CLI: collect and deduplicate signers (#8398)
* Rename (keypair util is not a thing)

* Add method to generate_unique_signers

* Cli: refactor signer handling and remote-wallet init

* Fixup unit tests

* Fixup intergation tests

* Update keypair path print statement

* Remove &None

* Use deterministic key in test

* Retain storage-account as index

* Make signer index-handling less brittle

* Cache pubkey on RemoteKeypair::new

* Make signer_of consistent + return pubkey

* Remove &matches double references

* Nonce authorities need special handling
2020-02-24 17:03:30 -07:00
Greg Fitzgerald dc02f2ea8b
Add support for large transactions with Ledger Wallet (#8394) 2020-02-21 23:24:56 -07:00
Tyera Eulberg 4ddbf8d509
CLI: dynamic signing reboot (#8384)
* 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>
2020-02-21 14:55:53 -07:00
Tyera Eulberg 0b7e8d0162
Add handling for fallible signers (#8367)
automerge
2020-02-20 19:04:53 -08:00
Tyera Eulberg ab361a8073
Rename KeypairUtil to Signer (#8360)
automerge
2020-02-20 13:28:55 -08:00
Tyera Eulberg c350543b46
Make generate_remote_keypair more generic for potential other remote-wallets (#8274) 2020-02-14 09:38:35 -07:00
Tyera Eulberg 2374cf09e2
Enable remote-wallet signing in solana-keygen (#8267)
* Add fallible methods to KeypairUtil

* Add RemoteKeypair struct and impl KeypairUtil

* Implement RemoteKeypair in keygen; also add parse_keypair_path for cleanup
2020-02-13 14:08:34 -07:00