Daira Hopwood
999b395360
Improve memory hygiene, and use -stdin to pass the recovery phrase to the child zcash-cli process.
...
Co-authored-by: Jack Grigg <str4d@electriccoin.co>
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-10 17:17:06 +00:00
Daira Hopwood
6f5efcbb0f
Improved error handling.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 18:39:23 +00:00
Daira Hopwood
a36fceca70
Make a zcashd-wallet-tool executable.
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2022-03-07 18:39:23 +00:00
Jack Grigg
7b7dddba0c
cargo update
2022-03-01 00:34:02 +00:00
Kris Nuttycombe
6c9b9a53b5
Update librustzcash dependency.
2022-02-02 17:40:36 -07:00
Kris Nuttycombe
bdcb12e445
Add a first-class type for transparent full viewing keys.
2022-01-27 21:27:43 -07:00
Kris Nuttycombe
c21ffff790
Add correct selection of change addresses to z_sendmany
...
This also alters `TransactionBuilder::SendChangeTo` to take a
`libzcash::ChangeAddress` value and thus avoids the invalid
t-addr case of CTxDestination.
2022-01-27 21:27:43 -07:00
Jack Grigg
714f14168c
rust: Add missing checks for transparent UFVK items
2022-01-18 21:32:33 +00:00
Kris Nuttycombe
fe777c5624
Fix encoding order of unified addresses.
2022-01-05 18:30:06 -07:00
Kris Nuttycombe
98967e2ec7
Merge remote-tracking branch 'upstream/master' into feature/wallet_unified_addresses
2022-01-05 18:20:31 -07:00
Jack Grigg
d85bfb4744
Migrate to latest revisions of Zcash Rust crates
2021-12-18 01:44:27 +00:00
Jack Grigg
e257844261
cargo update
...
In the three days since the last update, `futures 0.3.18` was yanked due
to panics: https://github.com/rust-lang/futures-rs/issues/2529
2021-12-16 16:55:11 +00:00
Kris Nuttycombe
640f31463f
Update to ufvk zcash_address build.
2021-12-13 18:51:15 -07:00
Jack Grigg
df0534e35a
cargo update
...
Thanks to metrics-rs/metrics#231 being merged, our dependency tree is
now almost entirely de-duplicated!
2021-12-13 21:27:02 +00:00
Kris Nuttycombe
e7c507cfb3
Update orchard & librustzcash dependency versions.
2021-11-29 13:05:54 -07:00
Jack Grigg
6c0bd90ee6
ed25519-zebra 3
2021-11-29 20:01:57 +00:00
Jack Grigg
5ae516f7b0
cargo update
2021-11-29 19:56:48 +00:00
Kris Nuttycombe
59a4c84112
Adds Orchard Address, IncomingViewingKey, FullViewingKey, and SpendingKey types.
2021-11-24 19:08:17 -07:00
Kris Nuttycombe
13b9a69230
Merge pull request #5306 from nuttycom/feature/mnemonic_seeds
...
Adds HD seed derivation from ZIP-339 mnemonic phrases.
This replaces random generation of transparent spending keys with BIP-44-compatible derivation from a mnemonic seed phrase, and replaces the random HD seed previously used for Sapling HD key derivation
with the same mnemonic seed. After this change, all new transparent and Sapling addresses
will be derived from a new randomly generated mnemonic seed, which is produced in such a way that
it is guaranteed to produce valid unified spending keys at account 0 for all address types.
Closes #5176 .
Closes #2673 .
2021-11-18 17:52:36 -07:00
Jack Grigg
ca7160ebab
tracing-subscriber 0.3
2021-11-06 21:06:30 +00:00
Jack Grigg
2005c91d41
cargo update
2021-11-06 21:06:30 +00:00
Kris Nuttycombe
67557df165
Use SecureString for mnemonic phrase.
2021-10-30 08:26:59 -06:00
Kris Nuttycombe
ebab190fdf
Replace account ID with ZIP-0032 key path in listaddresses output.
...
Account ID information is insufficiently granular to identify separate
pools of spend authority.
2021-10-20 13:33:47 -06:00
Kris Nuttycombe
daf443c9e6
Update librustzcash dependency version.
2021-10-19 11:48:02 -06:00
Kris Nuttycombe
8883ae8b9e
Add support for externally searching for valid Sapling diversifiers.
...
In order to support generation of unified addresses, it needs
to be possible for the code generating a unified address to search
the space of Sapling diversifiers to obtain a valid diversifier.
Historically, invalid diviersifiers were simply skipped, so we retain
this behavior when obtaining a Sapling address from the legacy HD seed.
2021-10-19 11:48:02 -06:00
Jack Grigg
8f0f8b6687
cargo update
2021-10-08 16:53:00 +00:00
Jack Grigg
6e90c84be7
Fix bugs in testnet Orchard circuit
...
The consensus branch ID is updated (as the NU5 consensus rules are
altered). The testnet NU5 activation height is also reset.
2021-09-28 22:56:37 +01:00
Jack Grigg
00724c9f5a
Update halo2 and orchard dependencies with BOSL Zcash exception
2021-09-22 23:10:57 +01:00
Jack Grigg
660e938499
cargo update
...
Includes pasta_curves 0.2.1, which relicenses to MIT OR Apache-2.0.
2021-09-22 22:51:26 +01:00
Jack Grigg
d087c8b089
cargo update
2021-09-17 13:52:09 +01:00
Jack Grigg
2aa9f766b2
Migrate to latest revisions of orchard and the zcash_* crates
2021-09-17 03:56:32 +01:00
Jack Grigg
710a5f8a9e
Migrate to latest revisions of Zcash Rust crates
2021-09-15 00:35:53 +01:00
Jack Grigg
4b8885759e
cargo update
2021-09-15 00:35:53 +01:00
Kris Nuttycombe
a61318ec85
Use manual serialization for Merkle frontiers rather than bincode.
2021-08-24 09:47:04 -06:00
Daira Hopwood
5475b17ae9
Cargo.toml: use librustzcash after the merge of https://github.com/zcash/librustzcash/pull/424 .
...
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2021-08-19 21:07:53 +01:00
Jack Grigg
5ace59b38f
rust: metrics 0.17
2021-07-30 18:22:05 +01:00
Jack Grigg
6e2a5b3f92
rust: cargo update
2021-07-30 18:22:05 +01:00
Jack Grigg
776e9c5a4b
Add support for decoding and encoding Unified Addresses
2021-07-13 03:22:47 +01:00
Kris Nuttycombe
e588d1d790
Update Orchard commitment tree hashes to use total MerkleCRH^Orchard.
2021-07-09 10:40:49 -06:00
Kris Nuttycombe
7a2be88768
ZIP 213: Add checks to support Orchard shielded coinbase outputs.
2021-07-01 12:42:37 +01:00
Kris Nuttycombe
5550dbe1b8
Fix implmentation of OrchardMerkleTree.DynamicMemoryUsage
2021-06-28 16:33:40 -06:00
Kris Nuttycombe
4b36b6fc20
Apply suggestions from code review
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-06-28 13:54:15 -06:00
Kris Nuttycombe
a3214285c2
Apply suggestions from code review
...
Co-authored-by: str4d <jack@electriccoin.co>
2021-06-28 13:54:15 -06:00
Kris Nuttycombe
34f192b8f0
Update to released version of incrementalmerkletree
2021-06-28 09:56:05 -06:00
Kris Nuttycombe
ecec1f9769
Update orchard dependency.
2021-06-24 11:53:30 -06:00
Kris Nuttycombe
68ce7e4828
Implement the Rust side of the incremental merkle tree FFI.
2021-06-23 16:06:30 -06:00
Jack Grigg
9ad5b75b30
rust: Load Orchard circuit parameters at startup
2021-06-21 18:33:57 +01:00
Jack Grigg
3192820dbc
rust: Migrate to zcash_history with versioned trees
2021-06-18 12:35:53 +01:00
Jack Grigg
36b4d130ab
rust: Fix patched dependencies
...
The orchard crate was pinning a specific rev of zcash_note_encryption
which prevented CI from vendoring the crate dependencies. Now orchard
uses a patch, which enables us to similarly patch here to get the
correct crate versions throughout our tree (while the crates are still
in flux).
2021-06-15 01:11:32 +01:00
Jack Grigg
af1b9c15bb
Implement Orchard authorization batch validator
...
- Currently, only RedPallas signatures are batch-validated. We can extend
this validator to cover Halo 2 proofs in the future.
- Signatures in a batch are not retried individually if the batch fails:
- For per-transaction batching (when adding to the mempool), we don't
care which signature within the transaction failed.
- For per-block batching, we currently don't care which transaction
failed. We might do so in future, at which point this behaviour can
be easily changed.
2021-06-14 22:47:00 +01:00