Jack Grigg
e952ff637e
zcash_primitives 0.7.0
2022-06-24 17:00:39 +00:00
Jack Grigg
a3cae5d36a
equihash 0.2.0
2022-06-24 17:00:26 +00:00
Jack Grigg
59b20c6e31
pprof 0.9
2022-06-24 16:27:06 +00:00
Jack Grigg
18fb1f0b07
orchard 0.2
2022-06-24 16:25:51 +00:00
Jack Grigg
3a3c3863cd
zcash_primitives: Update changelog
2022-06-24 16:01:24 +00:00
Jack Grigg
76d015ed11
zcash_client_backend: Fix `UnifiedFullViewingKey` Sapling item type
...
Per ZIP 316, the Sapling FVK Encoding only includes `(ak, nk, ovk, dk)`
which is a subset of the Sapling `ExtendedFullViewingKey`. We therefore
need to use `DiversifiableFullViewingKey` inside `UnifiedFullViewingKey`
in order to make it parseable from the UFVK string encoding.
`zcash_client_sqlite::wallet::get_extended_full_viewing_keys` has been
removed as a consequence of this change: we can no longer reconstruct
the correct `ExtendedFullViewingKey` from the `UnifiedFullViewingKey`.
2022-06-17 10:03:17 +00:00
Jack Grigg
df1105b996
zcash_primitives: Add `DiversifiableFullViewingKey`
2022-06-14 02:18:25 +00:00
Kris Nuttycombe
7bce52f235
Update NU5 mainnet activation height.
2022-05-11 12:22:20 -06:00
Jack Grigg
3ecfd26d79
zcash_primitives 0.6.0
2022-05-10 23:33:05 +00:00
Jack Grigg
6976d3fe85
zcash_encoding 0.1.0
2022-05-10 23:33:05 +00:00
Jack Grigg
9ebbd42401
orchard 0.1
2022-05-10 23:06:31 +00:00
Jack Grigg
c17af47d8f
pprof 0.8
2022-05-10 23:04:48 +00:00
Jack Grigg
a565c7e113
hdwallet 0.3.1
...
This release bumped secp256k1 to 0.21.
2022-05-10 23:00:43 +00:00
ebfull
71e2f395d4
Merge pull request #547 from nuttycom/fix_merkle_tree_complete
...
Allow CommitmentTree completeness & auth paths to be computed at arbitrary depths.
2022-05-06 17:42:01 -06:00
Jack Grigg
144512b547
Migrate to `ff 0.12`
2022-05-06 20:03:49 +00:00
Kris Nuttycombe
a63a37aab2
Allow CommitmentTree completeness & auth paths to be computed at arbitrary depths.
...
Fixes #546
2022-05-06 11:45:06 -06:00
Kris Nuttycombe
4969d81ad3
Add a test for merkle_tree::CommitmentTree::is_complete
2022-05-06 11:44:04 -06:00
Kris Nuttycombe
8bb1962153
Update incrementalmerkletree version and add SER_V2 serialization constant.
2022-05-04 09:25:07 -06:00
Kris Nuttycombe
d14e7a707c
Set NU5 testnet reactivation height.
2022-04-13 16:47:33 -06:00
Kris Nuttycombe
4d5b3831d1
Add conversion from incrementalmerkletree::bridgetree::Frontier -> CommitmentTree
...
Also, add roundtrip property tests to ensure the correctness of the
conversion.
2022-04-08 13:08:48 -06:00
Kris Nuttycombe
9416ab3a3e
Update to secp256k1 v0.21
2022-04-06 16:09:45 -06:00
Jack Grigg
ffa669a958
Migrate to orchard 0.1.0-beta.3
2022-04-06 21:00:25 +00:00
Jack Grigg
6e8c457e30
zcash_primitives: Show hex encoding of `BlockHash` in its `Debug` impl
...
The (byte-flipped) hex string is more useful than the raw bytes, because
we can look that up in RPC methods and block explorers.
2022-04-05 17:55:56 +00:00
Jack Grigg
7447a599f7
zcash_primitives: Show hex encoding of `TxId` in its `Debug` impl
...
The (byte-flipped) hex string is more useful than the raw bytes, because
we can look that up in RPC methods and block explorers.
2022-04-05 17:52:48 +00:00
Jack Grigg
9c1ed86c5a
Update NU5 consensus branch ID and remove testnet activation height
...
Part of zcash/librustzcash#456 .
2022-03-23 00:35:20 +00:00
Jack Grigg
5668804629
Migrate to beta releases of incrementalmerkletree and orchard
2022-03-23 00:04:32 +00:00
Jack Grigg
494092223b
Merge branch 'master' into non-consensus-changes-on-branchid-37519621
2022-03-23 00:00:21 +00:00
Kris Nuttycombe
71657b4f18
Generalize vector and array writes & reads.
...
In a number of places, we transform other kinds of collections with
known length information into vectors simply to be able to use them with
`Vector::write` or `Vector::read`. We can avoid these extra allocations
by writing from iterators directly, and similarly by reading directly
into our desired collection types.
2022-03-11 16:48:28 -07:00
Kris Nuttycombe
d602c01ef6
Standardize how we write and read usize values for incrementalmerkletree.
...
Also, make consistent use of helper functions for reading
and writing `Position` values.
2022-03-11 16:48:28 -07:00
Jack Grigg
91d9a42a08
Merge branch 'non-consensus-changes-on-branchid-37519621' into merge-non-consensus-changes-3
2022-02-28 23:22:40 +00:00
Jack Grigg
22ebe95de6
zcash_primitives: Replace custom `Debug` impl on `TransactionData`
2022-02-28 22:39:43 +00:00
Kris Nuttycombe
b97d777361
Update the versions of incrementalmerkletree & orchard.
...
This removes unreleased incrementalmerkletree::BridgeTree serialization
that was zcashd-specific.
2022-02-24 13:54:31 -07:00
Kris Nuttycombe
600c06a408
Update MSRV to 1.56.1
2022-02-24 12:26:14 -07:00
Jack Grigg
12700b4c17
Migrate to `orchard` revision with the Orchard circuit changes
2022-02-15 23:37:52 +00:00
Jack Grigg
f822d7aabc
Bump MSRV to 1.54.0
...
This is the MSRV for the orchard crate version that contains the changes
to the Orchard circuit.
Closes zcash/librustzcash#513 .
2022-02-15 16:39:29 +00:00
Jack Grigg
dbfa673500
Merge branch 'non-consensus-changes-on-branchid-37519621' into merge-non-consensus-changes-again
2022-02-14 18:11:09 +00:00
Kris Nuttycombe
a15f426ff3
Merge pull request #506 from rex4539/typos
...
Fix typos
2022-02-13 20:29:50 -07:00
Jack Grigg
54e3dded92
Add `TransactionData::map_bundles`
...
This is needed for FFI-crossing in `zcashd`.
2022-02-12 02:59:18 +00:00
Kris Nuttycombe
f590134ee8
Add transaction::Transaction::into_data
2022-02-11 15:29:44 -07:00
Kris Nuttycombe
af9edcea25
Define transaction::TransactionData::map_authorization
2022-02-11 15:29:44 -07:00
Kris Nuttycombe
e20de50b84
Make AccountId internal representation private.
2022-02-10 11:30:02 -07:00
Kris Nuttycombe
970b6d6750
Add missing trait impls for AccountId
2022-02-10 09:12:18 -07:00
Kris Nuttycombe
2425a08690
Merge pull request #493 from zcash/485-zip244-coinbase-fix
...
zcash_primitives: Update ZIP 244 with coinbase fix
2022-02-08 08:16:19 -07:00
Dimitris Apostolou
e600d7b917
Fix typos
2022-02-03 20:15:32 +02:00
str4d
9319dd4c3e
Implement XNOR using `assert_eq!`
...
Because of course that is simpler than building it from XOR.
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-02-03 00:12:55 +00:00
Kris Nuttycombe
a304c3953b
Fix Clippy beta linting complaints.
2022-02-02 16:02:45 -07:00
Kris Nuttycombe
60d9124453
Merge branch 'non-consensus-changes-on-branchid-37519621' into 'master'
2022-02-02 14:38:09 -07:00
Kris Nuttycombe
1507d1de0a
Fix incorrect construction of transparent OVKs.
2022-02-02 10:33:44 -07:00
Kris Nuttycombe
b4ff3f368e
Add test vectors for transparent OVKs.
2022-02-02 10:33:44 -07:00
therealyingtong
0c80399fe1
zcash_primitives::zip32::tests: Use internal test vectors.
2022-02-02 10:33:44 -07:00
therealyingtong
cf4c982483
zcash_primitives::zip32: Include test vectors for internal key components.
2022-02-02 10:33:44 -07:00
Kris Nuttycombe
9c2d485c80
Address comments from code review.
...
Co-authored-by: str4d <jack@electriccoin.co>
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-02-02 10:33:41 -07:00
Kris Nuttycombe
3d51c53d68
Address comments from code review.
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-02-02 10:32:33 -07:00
Kris Nuttycombe
8916a16f38
Replace ripemd160 dependency with ripemd
2022-02-02 10:30:43 -07:00
Jack Grigg
d7fe28ac3f
zcash_primitives: Update ZIP 244 with coinbase fix
...
This corresponds to the ZIP 244 changes in zcash/zips#587 .
Closes zcash/librustzcash#485 .
2022-02-01 15:57:39 +00:00
Jack Grigg
f28f0b7476
Merge branch 'non-consensus-changes-on-branchid-37519621'
2022-02-01 15:57:13 +00:00
Kris Nuttycombe
b3fbf2410d
Allow use of internal deprecated pubkey_to_address method.
2022-01-27 21:21:18 -07:00
Kris Nuttycombe
2f1d3da26d
Update changelogs.
2022-01-27 16:25:01 -07:00
Kris Nuttycombe
4057b066bd
ExtendedFullViewingKey::chain_code should not be public.
2022-01-27 16:18:26 -07:00
Kris Nuttycombe
6e11f2d11a
Validate ZIP 321 request by roundtrip through the URI format.
...
Co-authored-by: str4d <jack@electriccoin.co>
2022-01-27 16:08:04 -07:00
Kris Nuttycombe
a1e693d15f
Remove the Wif type; it should not be used.
...
We should attempt to avoid passing spending keys back and forth
across the FFI entirely, but in any case this is no longer the
correct type to use at this boundary; we should use the encoding
of the transparent component of a unified spending key instead.
2022-01-27 16:08:04 -07:00
Kris Nuttycombe
3a20176092
Apply suggestions from code review
...
Co-authored-by: str4d <jack@electriccoin.co>
2022-01-27 15:00:37 -07:00
Kris Nuttycombe
132df78a31
Add serialization and deserialization for AccountPubKey
2022-01-27 08:52:12 -07:00
Kris Nuttycombe
6fcdfda69e
Derive OVKs from transparent account-level key, not child keys.
...
This also renames a number of legacy key types to better reflect
their intended use.
2022-01-26 13:36:27 -07:00
Kris Nuttycombe
0b43535203
Move OutgoingViewingKey to zcash_primitives::keys
2022-01-25 08:53:51 -07:00
Kris Nuttycombe
f58d191439
Move transparent account keys to zcash_primitives.
2022-01-25 08:53:51 -07:00
Kris Nuttycombe
72c2e54a7b
Add explicit serialize and deserialize methods to ExternalPubKey
...
The serialization defined by HDWallet for the fields of ExtendedPubKey
is in the opposite field order from what is defined in ZIP 316.
2022-01-24 16:25:06 -07:00
therealyingtong
8b0c1c4ab2
transparent::ExternalPubKey: impl TryFrom for &[u8; 65].
2022-01-24 14:41:40 +08:00
Kris Nuttycombe
4068075ffd
Merge remote-tracking branch 'upstream/non-consensus-changes-on-branchid-37519621' into autoshield-poc-daa
2022-01-22 23:10:47 -07:00
Kris Nuttycombe
4dac37ffde
Ensure that transparent input functionality is correctly feature-flagged.
2022-01-22 22:33:22 -07:00
therealyingtong
a7ea5f0bc1
Implement TryFrom<&[u8] for ExternalPubKey.
2022-01-22 22:29:45 -07:00
therealyingtong
6f776aacc3
zcash_primitives::zip316::transparent: Parse Ufvk from zcash_address.
2022-01-22 22:29:45 -07:00
therealyingtong
c9fe8402e2
Use transparent internal ovk in shield_transparent_funds().
2022-01-22 22:29:45 -07:00
therealyingtong
5033d29d2f
zip316::transparent: Implement ZIP 316 transparent internal ovk.
2022-01-22 22:29:45 -07:00
therealyingtong
a4c9f53a3a
Move ExternalPrivKey, ExternalPubKey to zcash_primitives.
2022-01-22 22:29:45 -07:00
therealyingtong
1f9b9fc147
zcash_primitives: Do not gate secp256k1 on transparent-inputs feature flag.
2022-01-22 22:04:32 -07:00
Kris Nuttycombe
54cca8081b
Update zcash_primitives/CHANGELOG.md with change key derivation methods.
2022-01-22 19:35:01 -07:00
Kris Nuttycombe
7c03dbdc95
Add convenience method for amount sums.
2022-01-21 16:48:53 -07:00
therealyingtong
eb80138cf9
Document new APIs for deriving internal keys.
2022-01-21 10:49:17 +08:00
Kris Nuttycombe
82c1d87dcd
Fix incorrect length of blake2b hashes for internal key derivation.
...
Co-authored-by: str4d <jack@electriccoin.co>
2022-01-20 18:08:01 -07:00
Kris Nuttycombe
37e6d3a2bc
Apply suggestions from code review
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
Co-authored-by: ying tong <yingtong@z.cash>
2022-01-20 16:43:57 -07:00
Kris Nuttycombe
3dd1f310d9
Merge remote-tracking branch 'upstream/non-consensus-changes-on-branchid-37519621' into autoshield-poc-daa
2022-01-20 13:54:38 -07:00
Kris Nuttycombe
da3833f906
Fix missing use of `dk` in derivation of sapling internal FVK.
...
Also, factor out sapling internal fvk derivation so that it only
requires (fvk, dk) since we may not have the full extfvk.
2022-01-20 13:50:12 -07:00
therealyingtong
f6f5096ae4
Derive Sapling internal full viewing key.
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-01-20 13:50:12 -07:00
therealyingtong
a98010a684
Derive Sapling internal spending key.
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-01-20 13:50:12 -07:00
Kris Nuttycombe
eaa3ec56d0
Apply suggestions from code review
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2022-01-19 08:32:59 -07:00
Kris Nuttycombe
7b2f9e27ae
Rename script_code to script_pubkey in zip244 test vectors.
2022-01-19 08:32:59 -07:00
Kris Nuttycombe
fc82801d3d
Update v5 transparent signature hashes to always commit to scriptPubKey
2022-01-19 08:32:59 -07:00
Kris Nuttycombe
3c6e19f4e4
Update test vectors.
2022-01-19 08:32:59 -07:00
Kris Nuttycombe
37fdf88462
Make hash_type a property of the SignableInput::Transparent
2022-01-19 08:32:59 -07:00
Kris Nuttycombe
145d1a57f7
Make transparent signatures commit to all input amounts & scripts.
...
Transparent UTXOs are referred as pair of previous txid and index. In
order to verify UTXO's amount in HWW (hardware wallet), whole previous
transaction containing this UTXO must be streamed into the device. This
increases complexity of signing process significantly.
zcash/zips#574 identifies this problem and suggests a modification
to ZIP-244 to resolve this issue, by adding three new fields to
section S.2 of the signature hash.
2022-01-19 08:32:59 -07:00
Squirrel
c910ffdb41
Remove unused dependencies ( #479 )
...
Remove unused dependencies
Co-authored-by: Kris Nuttycombe <kris.nuttycombe@gmail.com>
Co-authored-by: str4d <thestr4d@gmail.com>
2022-01-18 12:04:14 -07:00
Kris Nuttycombe
e3c67ffee6
Pin pprof version
2022-01-04 11:48:59 -07:00
Jack Grigg
fe05d2dc11
pprof 0.6
2021-12-17 23:47:00 +00:00
Jack Grigg
07a95d70c9
incrementalmerkletree 0.2
2021-12-17 23:46:00 +00:00
Jack Grigg
d5a375919d
blake2{b,s}_simd 1
2021-12-17 23:44:06 +00:00
Jack Grigg
36db7634a0
orchard 0.1.0-beta.1
2021-12-17 22:22:25 +00:00
Jack Grigg
142a38e792
zcash_note_encryption 0.1.0
2021-12-17 20:00:46 +00:00
Jack Grigg
e148ca84ba
Migrate to latest `zcash_note_encryption` API
2021-12-17 05:34:45 +00:00
Jack Grigg
01c768dbeb
zcash_note_encryption: Place pre-ZIP 212 APIs behind a feature flag
2021-12-17 04:30:57 +00:00