Commit Graph

217 Commits

Author SHA1 Message Date
Ryan Heywood 97f9a57e08
keyfork-slip10-test-data: it's actually 512 not 256 2023-09-25 19:41:59 -05:00
Ryan Heywood 748b3a2064
keyforkd: create service from seed, not mnemonic
this is a breaking change but is necessary for 512 bit tests to be
usable, and is functionally similar.
2023-09-25 19:40:43 -05:00
Ryan Heywood 34af8dcfcd
keyfork-derive-util: add test requiring ed25519 hardened derivation 2023-09-25 17:11:29 -05:00
Ryan Heywood ff03fc62ad
keyfork-slip10-test-data: initial commit 2023-09-25 17:05:20 -05:00
Ryan Heywood b922cd1612
keyfork: Fix version of keyfork-mnemonic-from-seed 2023-09-21 18:09:27 -05:00
Ryan Heywood 49d7b969ee
README: Add notes about `keyfork` binary. 2023-09-21 18:08:07 -05:00
Ryan Heywood d059c21b7d
Project refactoring
* keyfork-seed has become keyfork-derive-key
* Create keyfork-entropy as a way to pull entropy from system
* Fix tests in keyfork-derive-util and keyfork-frame
* Remove keyfork-mnemonic-generate
* Add keyfork-mnemonic-from-seed
* Refactor keyfork to only include highest level utilities
* Add smex (small hex)
2023-09-21 17:33:13 -05:00
Ryan Heywood 7e8702a150
more misc tests 2023-09-12 01:36:05 -05:00
Ryan Heywood 90d2f46cda
keyfork: begin work on The Kitchen Sink 2023-09-12 00:59:13 -05:00
Ryan Heywood 8ac682531b
keyfork-seed: use clap::Parser 2023-09-12 00:58:08 -05:00
Ryan Heywood b7fd2ef8e5
keyfork-mnemonic-generate: alter signature of generate_mnemonic to take size as input 2023-09-12 00:29:19 -05:00
Ryan Heywood 76d369a6d5
keyfork-mnemonic-generate: make bin into lib with bin 2023-09-11 23:55:30 -05:00
Ryan Heywood ff351b12a9
keyfork-seed: add Client::discover_socket()? 2023-09-11 23:24:09 -05:00
Ryan Heywood fe8b901bd3
keyfork-seed: make bin into lib with bin 2023-09-11 23:21:30 -05:00
Ryan Heywood 2e9bfde9b4
keyfork-seed: fixup tests, add Client 2023-09-11 23:00:30 -05:00
Ryan Heywood 0ef93fced5
keyforkd: export types 2023-09-11 23:00:16 -05:00
Ryan Heywood a946d039a6
keyfork-seed: add basic example, test keyforkd 2023-09-11 22:41:55 -05:00
Ryan Heywood e33b67a9e3
keyforkd: expose start_and_run_server_on and Mnemonic 2023-09-11 22:41:37 -05:00
Ryan Heywood 0f4bc3c78d
keyfork-seed: initial commit, vaguely tested 2023-09-11 21:31:52 -05:00
Ryan Heywood 76779ee91c
keyfork-frame: bugfix, add try_encode_to, try_encode_from 2023-09-11 21:31:35 -05:00
Ryan Heywood 71261e1323
keyfork-derive-util: impl FromStr for DerivationAlgorithm 2023-09-11 21:31:00 -05:00
Ryan Heywood f60b77254a
keyforkd: add required 2 path segments 2023-09-11 19:44:47 -05:00
Ryan Heywood 72666011a4
keyfork-derive-util: fixup request API, publicity of ExtendedPrivateKey 2023-09-11 19:44:22 -05:00
Ryan Heywood 8510e382d2
keyforkd: complicate middleware test 2023-09-07 15:35:34 -05:00
Ryan Heywood b810ab2e90
cargo fmt 2023-09-07 15:20:32 -05:00
Ryan Heywood aad990ab71
keyforkd: rename Serde middleware Bincode 2023-09-07 15:20:15 -05:00
Ryan Heywood 705b0ad826
keyforkd: add tests for middleware, relax serde service trait bounds 2023-09-07 15:17:29 -05:00
Ryan Heywood 0d6753ef47
keyforkd, keyfork-derive-util: add some tests, fix algo switcharound 2023-09-07 13:24:07 -05:00
Ryan Heywood c39d8343c7
keyforkd: clone internal Arc instead of external struct holding Arc 2023-09-07 12:40:17 -05:00
Ryan Heywood 88dd6476df
keyforkd: potentially working, but untested, example 2023-09-07 10:06:47 -05:00
Ryan Heywood d20d9d965d
keyforkd: let server be runnable by other programs 2023-09-07 08:36:14 -05:00
Ryan Heywood a7feed1bcc
keyforkd: extract serialization logic into middleware 2023-09-07 08:05:38 -05:00
Ryan Heywood 1a13acdfe3
keyfork-derive-util: add ed25519 support 2023-09-06 10:21:47 -05:00
Ryan Heywood 69b4aa9a18
keyfork-mnemonic-generate: land 0.1.0 2023-09-01 07:30:34 -05:00
Ryan Heywood f0148a8c38
keyfork-mnemonic-util: land 0.1.0 2023-09-01 07:24:40 -05:00
Ryan Heywood 54526af46e
deny.toml: initial commit, ban bad serde 2023-09-01 00:19:26 -05:00
Ryan Heywood 1006fd9503
keyfork-derive-util: cleanup types 2023-08-31 23:57:05 -05:00
Ryan Heywood 96e6c236f0
keyfork-derive-util: add some documentation 2023-08-31 23:49:35 -05:00
Ryan Heywood 5424e66aed
**/Cargo.toml: refactorings 2023-08-31 23:11:42 -05:00
Ryan Heywood e850c75879
keyfork-derive-util: Flesh out most of secp256k1 2023-08-31 23:10:56 -05:00
Ryan Heywood da09b95bae
keyfork-mnemonic-util: Mnemonic::seed(&self) -> Vec<u8> 2023-08-25 05:19:47 -05:00
Ryan Heywood 98baaed81c
cargo fmt 2023-08-25 04:28:47 -05:00
Ryan Heywood da96ea94bd
keyforkd: extract DerivablePath 2023-08-25 04:27:16 -05:00
Ryan Heywood a9209ee36a
keyforkd: swap minicbor for serde + bincode 2023-08-25 02:47:54 -05:00
Ryan Heywood 067de52e4b
keyforkd: initial commit 2023-08-25 01:32:21 -05:00
Ryan Heywood fa8e6d726d
keyfork-frame: add asyncext to allow AsyncRead/AsyncWrite 2023-08-25 01:32:06 -05:00
Ryan Heywood 76c9214d73
keyfork-mnemonic-util: impl FromStr for Mnemonic
This changes the actual structure of Mnemonic since it requires
exclusively owned types when implementing FromStr. Now, Mnemonic
contains an Arc. Thread safety is required because of the Tokio
multithreaded runtime, hence an Arc instead of an Rc.

This does add some level of burden for people instantiating Mnemonics,
but `Wordlist::arc(self) -> Arc<Self>` has been provided as a
convenience method to make working with mnemonics easier.
2023-08-24 21:56:35 -05:00
Ryan Heywood ee15145662
keyfork-frame: initial commit 2023-08-24 20:25:42 -05:00
Ryan Heywood 5d7a3c99ba
keyfork-mnemonic-util: split mnemonic utilities out of keyfork-mnemonic-generate 2023-08-18 22:52:37 -05:00
Ryan Heywood 8e74c18135
keyfork-mnemonic-generate: split wordlist parsing into its own thing 2023-08-18 01:12:09 -05:00