diff --git a/Cargo.lock b/Cargo.lock index 62f7087..f5d5b4a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -336,6 +336,12 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + [[package]] name = "base58" version = "0.1.0" @@ -423,6 +429,9 @@ checksum = "aa13fae8b6255872fd86f7faf4b41168661d7d78609f7bfe6771b85c6739a15b" dependencies = [ "bs58", "hmac 0.12.1", + "k256", + "once_cell", + "pbkdf2 0.12.2", "rand_core 0.6.4", "ripemd", "secp256k1", @@ -790,6 +799,12 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "constant_time_eq" version = "0.3.1" @@ -920,6 +935,18 @@ version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array 0.14.7", + "rand_core 0.6.4", + "subtle 2.6.1", + "zeroize", +] + [[package]] name = "crypto-common" version = "0.1.6" @@ -1030,6 +1057,16 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da692b8d1080ea3045efaab14434d40468c3d8657e42abddfffca87b428f4c1b" +[[package]] +name = "der" +version = "0.7.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" +dependencies = [ + "const-oid", + "zeroize", +] + [[package]] name = "deranged" version = "0.3.11" @@ -1076,6 +1113,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer 0.10.4", + "const-oid", "crypto-common", "subtle 2.6.1", ] @@ -1100,12 +1138,43 @@ dependencies = [ "litrs", ] +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest 0.10.7", + "elliptic-curve", + "rfc6979", + "signature", +] + [[package]] name = "either" version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest 0.10.7", + "ff", + "generic-array 0.14.7", + "group", + "rand_core 0.6.4", + "sec1", + "subtle 2.6.1", + "zeroize", +] + [[package]] name = "encode_unicode" version = "0.3.6" @@ -1422,6 +1491,7 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -1993,6 +2063,18 @@ dependencies = [ "subtle 2.6.1", ] +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "sha2 0.10.8", +] + [[package]] name = "known-folders" version = "1.2.0" @@ -3040,6 +3122,16 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac 0.12.1", + "subtle 2.6.1", +] + [[package]] name = "ring" version = "0.17.8" @@ -3311,6 +3403,19 @@ dependencies = [ "sha2 0.10.8", ] +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array 0.14.7", + "subtle 2.6.1", + "zeroize", +] + [[package]] name = "secp256k1" version = "0.27.0" @@ -3587,6 +3692,16 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest 0.10.7", + "rand_core 0.6.4", +] + [[package]] name = "simd-adler32" version = "0.3.7" @@ -4679,6 +4794,7 @@ dependencies = [ "base58check", "bech32 0.11.0", "bincode", + "bip32", "blake2b_simd", "cbindgen", "chacha20", diff --git a/Cargo.toml b/Cargo.toml index 3cc1ba2..ebd3507 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,6 +43,7 @@ bincode = "1.3.3" rand = "0.8.4" chrono = "0.4.38" itertools = "0.13.0" +bip32 = "0.5.2" clap = { version = "4.5.16", features = ["derive"] } clap-repl = "0.3.0" diff --git a/dart-warp b/dart-warp index c2128da..693cf91 160000 --- a/dart-warp +++ b/dart-warp @@ -1 +1 @@ -Subproject commit c2128da5e72594b4224213412c4c5aae89274d31 +Subproject commit 693cf910313a03672a8a1b67193dc0fe03b4f698 diff --git a/ywallet b/ywallet index 2a0296e..b193f80 160000 --- a/ywallet +++ b/ywallet @@ -1 +1 @@ -Subproject commit 2a0296e5bd62e681e840414d325cb31a8c899e4f +Subproject commit b193f80bc8632bd41baced52f8054883707537d6 diff --git a/zcash-warp b/zcash-warp index 3876a89..cda9bca 160000 --- a/zcash-warp +++ b/zcash-warp @@ -1 +1 @@ -Subproject commit 3876a89dd5148a1314fb296b1d61c5847b25de31 +Subproject commit cda9bcad6a19e4421e702274dad4bb63bc2b1a2c