Kris Nuttycombe
da3c84ff31
Update hdwallet to depend upon secp256k1-v0.20
2021-10-01 12:52:19 -06:00
Kris Nuttycombe
e30c5cd628
Enforce maximum zip321 payment count in TransactionRequest constructor.
2021-10-01 12:22:59 -06:00
Kris Nuttycombe
d43a893c72
Apply suggestions from code review & update changelog
...
Co-authored-by: str4d <jack@electriccoin.co>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2021-10-01 12:03:06 -06:00
Kris Nuttycombe
d49a20e6d2
Modify WalletTransparentOutput to wrap TxOut directly.
2021-10-01 11:42:04 -06:00
Kris Nuttycombe
6cf0749ac9
Merge remote-tracking branch 'upstream/master' into autoshield-poc-reorder
2021-10-01 11:03:41 -06:00
Kris Nuttycombe
db89569b90
Address documentation & naming requests from code review.
2021-10-01 11:03:09 -06:00
Kris Nuttycombe
2053d7f57b
Always take number of confirmations as a parameter.
2021-10-01 11:00:50 -06:00
Jack Grigg
65e1d32774
ff 0.11, group 0.11, etc.
2021-09-09 18:20:37 +01:00
Kris Nuttycombe
edd7471d90
Merge remote-tracking branch 'upstream/master' into autoshield-poc-daa
2021-08-27 11:08:50 -06:00
Jack Grigg
ecb82ed813
nom 7
2021-08-23 20:15:51 +01:00
Kris Nuttycombe
b783c4d0e7
Merge remote-tracking branch 'upstream/master' into autoshield-poc-daa
2021-08-12 11:21:30 -06:00
Jack Grigg
0facec094f
Update changelogs with `EphemeralKeyBytes` changes
2021-08-09 21:45:16 +01:00
Jack Grigg
279a8b6bb6
Use `EphemeralKeyBytes` type in place of `[u8; 32]`
2021-08-09 21:28:42 +01:00
Jack Grigg
83c6a2d1ca
Store OutputDescription `ephemeral_key` as bytes
...
This removes an unnecessary `to_bytes` during trial decryption of notes,
and more closely matches the protocol spec. We retain the consensus rule
canonicity check on epk due to `SaplingVerificationContext::check_output`
taking a `jubjub::ExtendedPoint`, forcing `zcashd` to parse the bytes.
2021-08-06 16:54:48 +01:00
Jack Grigg
0f15743200
Disable default benchmark harness for all workspace crates
...
This is necessary in order to provide criterion-specific arguments to
`cargo bench`, such as `--profile-time`.
2021-08-05 22:39:36 +01:00
Kris Nuttycombe
1a5aad723b
Use generalized signature_hash for transaction builder.
2021-06-04 15:45:39 -06:00
Kris Nuttycombe
55d1090f70
Add v5 txid & signature hashing.
2021-06-04 15:45:39 -06:00
Jack Grigg
1222391dd7
Migrate to bitvec 0.22, ff 0.10, etc.
...
Requires patching three dependencies:
- bellman is pending a new release.
- nom is part of the funty breakage; we are blocking on a new release.
- orchard is in development.
2021-06-04 22:02:48 +01:00
Kris Nuttycombe
523424e50b
Move Transparent components to a bundle within TransactionData
2021-06-03 18:46:38 -06:00
Kris Nuttycombe
84e8952ec3
Move Sapling components to a bundle within TransactionData
2021-06-03 18:46:38 -06:00
Kris Nuttycombe
72ac97a35f
Derive transaction version & branch id from target height.
2021-06-02 13:45:29 -06:00
Kris Nuttycombe
8267d06846
Refactor transaction builder to create separate builders for each section.
2021-06-02 11:48:46 -06:00
Kris Nuttycombe
76999eb5c7
Make txid contents private & use txid for TzeOutPoint
2021-06-01 07:03:31 -06:00
Kris Nuttycombe
4efb21d1c7
Make amount addition and subtraction traits use checked operations.
2021-06-01 07:03:31 -06:00
Jack Grigg
5623e02a7c
Migrate to ff 0.9 et al.
2021-05-19 18:29:37 +01:00
Kris Nuttycombe
fd47ee3652
Fix missing method in in-memory wallet prototype.
2021-05-14 15:09:36 -06:00
Kris Nuttycombe
8e3e7de50c
Minor code cleanup.
2021-05-14 14:17:42 -06:00
Kevin Gorham
c1bc06964f
Add get_all_nullifiers.
2021-04-16 14:27:18 -06:00
Kevin Gorham
bb68744df1
Ensure that rewinds go far enough to properly restore incremental witness state.
2021-04-16 14:27:18 -06:00
Kris Nuttycombe
9b3025de4d
Add ZIP-321 request based sends to zcash_client_backend.
2021-04-16 14:26:53 -06:00
Kevin Gorham
8e16d93f94
Update accounts table create statement.
...
This PR makes the opinionated change that T-addrs are required
to be supported when using the zcash_client_sqlite backend.
2021-04-16 14:26:53 -06:00
Kevin Gorham
5595ca225c
Add public key derivations and related tests.
2021-04-16 14:26:53 -06:00
Kris Nuttycombe
665c4c7aff
Figure out the account ID for z->t spends.
2021-04-16 14:26:53 -06:00
Kris Nuttycombe
13cd7498b7
Store vout as part of store_decrypted_tx
2021-04-16 14:26:53 -06:00
Kris Nuttycombe
8828276361
Query for unspent utxos checks to ensure that spending tx is mined.
...
Also make it an error to try to send a memo to a transparent address.
2021-04-16 14:26:51 -06:00
Kris Nuttycombe
b88ee47e36
Add confirmation depth to shield_funds
2021-04-16 14:23:28 -06:00
Kris Nuttycombe
a3bc1e3e63
Rename get_spendable -> get_unspent
2021-04-16 14:23:28 -06:00
Kris Nuttycombe
ca3e3a4595
Add WIF derivation for transparent keys.
...
With @gmale
2021-04-16 14:23:28 -06:00
Kris Nuttycombe
862e221a9b
Put transparent dependencies behind a feature flag.
2021-04-16 14:23:26 -06:00
Francisco Gindre
cff457ff15
PoC Auto-Shielding
...
Add retrieval of transparent UTXOs to WalletRead
Co-authored-by: Kris Nuttycombe <kris@electriccoin.co>
Co-authored-by: Kevin Gorham <anothergmale@gmail.com>
2021-04-16 14:22:16 -06:00
Kris Nuttycombe
12cb8265d8
Fix formatting.
2021-04-12 18:47:45 -06:00
Kris Nuttycombe
fae1a1517a
Simplify try_sapling_output_recovery.
2021-04-12 18:40:17 -06:00
Kris Nuttycombe
324fc36521
Use ShieldedOutput trait for note encryption/decryption.
...
This change modifies note encryption and decryption functions
to treat a shielded output as a single value instead of handling
the parts of an output as independent arguments.
2021-04-12 12:59:06 -06:00
Kris Nuttycombe
cfdbafe2e3
Add myself to crate contributors.
2021-04-08 10:13:04 -06:00
Kris Nuttycombe
e77839232d
Generalize note encryption and decryption.
...
This commit introduces a `Domain` trait which defines the types
and operations that are shared between Sapling and Orchard note
encryption and decryption processes.
2021-04-08 08:19:10 -06:00
Kris Nuttycombe
5baccdf052
Move note_encryption into the sapling module.
2021-04-08 08:19:10 -06:00
Jack Grigg
63db2729e9
Temporarily allow clippy::result_unit_err lint
...
Fixing these lints is deferred to zcash/librustzcash#367 .
2021-03-27 19:01:03 +13:00
Jack Grigg
56b577b31e
clippy: Fix small lints
2021-03-27 19:01:03 +13:00
Jack Grigg
636845d0f9
Renames to use lower-case abbreviations (matching Rust convention)
...
As of our MSRV bump to 1.51.0, we get lints for this.
2021-03-27 19:01:03 +13:00
Jack Grigg
8ac663f116
Fix some doctests and intra-doc links after moving Sapling primitives
2021-03-27 17:10:18 +13:00