Kris Nuttycombe
36d7222685
Merge pull request #844 from zcash/temporary-zcashd-parse-sapling
...
zcash_primitives: Changes needed for `zcashd` Sapling oxidation
2023-05-30 17:30:47 -06:00
Jack Grigg
8db7a071a0
zcash_primitives: `impl DynamicUsage for sapling::Bundle<Authorized>`
2023-05-17 03:44:24 +00:00
Jack Grigg
26d95b4a0e
zcash_primitives: Temporarily expose v5 Sapling bundle parsing
...
This is currently exposed via `Transaction` for usage in `zcashd`, but
may be removed in future (if `zcashd` moves transaction parsing entirely
into Rust), or renamed and stabilised.
2023-05-17 03:44:24 +00:00
Jack Grigg
8681b56d52
Bump MSRV for `zcash_primitives` and dependents to 1.65
2023-05-16 15:37:07 +00:00
Daira Emma Hopwood
3903935234
Deprecate `transaction::components::amount::DEFAULT_FEE` and
...
`zcash_primitives::transaction::fees::fixed::FeeRule::standard()`.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-05-09 17:18:34 +01:00
Daira Emma Hopwood
736d11b45b
Change `transaction::fees::fixed::FeeRule::standard()` to use the ZIP 317
...
minimum fee (10000 zatoshis rather than 1000 zatoshis) as the fixed fee.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-05-09 16:42:41 +01:00
Daira Emma Hopwood
043cc59c76
Add `transaction::fees::zip317::MINIMUM_FEE` constant and
...
`transaction::components::amount::Amount::const_from_i64`.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-05-09 16:42:19 +01:00
Daira Emma Hopwood
4cf27126e5
Revert "Update DEFAULT_FEE to 10_000 from 1000"
...
This reverts commit 2a6dc59c5d
.
Signed-off-by: Daira Emma Hopwood <daira@jacaranda.org>
2023-05-09 13:15:52 +01:00
Kris Nuttycombe
d37e6adee5
Merge pull request #783 from nuttycom/upgrade_bridgetree
...
Upgrade `zcash_primitives` to use updated `incrementalmerkletree` types.
2023-05-08 12:00:00 -06:00
str4d
579ab92b93
Merge branch 'main' into 823-secp256k1-0.26
2023-05-08 18:53:33 +01:00
Kris Nuttycombe
c9f53ddde5
Apply suggestions from code review
...
Co-authored-by: Daira Hopwood <daira@jacaranda.org>
2023-05-04 14:46:34 -06:00
Kris Nuttycombe
4d32a8ac20
Remove serialization version constants.
2023-05-04 12:46:15 -06:00
Kris Nuttycombe
71f74d4ac1
Remove the `merkle_tree::incremental` module.
...
This consolidates all the seralization code for frontiers and
incremental witnesses in the `merkle_tree` module.
2023-05-04 12:46:15 -06:00
Kris Nuttycombe
6aaa96d377
Remove zcashd-specific `bridgetree` serialization.
2023-05-04 12:46:15 -06:00
Kris Nuttycombe
1f9747e15f
Move merkle tree types to the `incrementalmerkletree` crate.
...
This removes the `CommitmentTree`, `IncrementalWitness`, and
`MerklePath` types in favor of equivalent versions available
from the `incrementalmerkletree` crate.
2023-05-04 12:30:56 -06:00
Kris Nuttycombe
6f2cbfc7de
Factor serialization out from merkle tree data structures.
2023-05-04 12:21:47 -06:00
Kris Nuttycombe
ec57d23115
Use const generics to set commitment tree & incremental witness depths.
...
This is in preparation for extraction into the `incrementalmerkletree`
crate, which is not Sapling-specific and therefore cannot hard-code
the depths of these data structures.
2023-05-04 12:16:09 -06:00
Kris Nuttycombe
69430c3da2
Upgrade incrementalmerkletree and use bridgetree crate for `Bridgetree`.
2023-05-04 12:08:38 -06:00
Hazel OHearn
2a6dc59c5d
Update DEFAULT_FEE to 10_000 from 1000
2023-05-03 16:42:01 -03:00
Jack Grigg
ec1c1bcf21
Migrate to `secp256k1 0.26`, `hdwallet 0.4`
...
Closes zcash/librustzcash#823 .
2023-04-19 19:33:34 +00:00
Jack Grigg
a419b56e80
zcash_primitives 0.11.0
2023-04-14 23:56:16 +00:00
Jack Grigg
7be5d1bf7d
Update changelogs
2023-04-14 23:49:13 +00:00
Jack Grigg
edb1941f19
zcash_primitives: Downgrade to `bip0039 0.10`
...
`bip0039 0.11` switched from language function arguments to a generic
parameter. We aren't ready to migrate to this yet.
2023-04-12 16:19:03 +00:00
Jack Grigg
878f3e9214
zcash_primitives: Migrate to `sha2 0.10`, `bip0039 0.11`
2023-04-11 15:48:44 +00:00
Jack Grigg
2fcde5e047
Migrate to `orchard 0.4.0`
...
Closes zcash/librustzcash#766 .
2023-04-11 13:25:17 +00:00
Kris Nuttycombe
cb1be45f22
Update CHANGELOGs to reflect the addition of the zcash_primitives/multicore feature.
2023-03-20 15:11:05 -06:00
Kris Nuttycombe
77fbd8cb4f
Update dependencies to reflect changes in ff 0.13
2023-03-20 14:35:45 -06:00
Jack Grigg
2530eb3a9d
Temporarily re-expose Sapling `NoteCommitment` derivation
2023-03-16 23:27:01 +00:00
Jack Grigg
a8003c8ff5
Temporarily re-expose ability to construct invalid Sapling bundles
...
Until zcash/zcash#6397 is closed, this ability is needed by `zcashd` for
crossing the FFI.
2023-03-08 03:45:01 +00:00
Jack Grigg
9852c31970
zcash_primitives 0.10.0
2023-02-01 02:10:42 +00:00
Jack Grigg
7f970bb82f
Use `EphemeralSecretKey, EphemeralPublicKey, SharedSecret` types in APIs
2023-01-24 15:02:49 +00:00
Jack Grigg
bc99cd2634
Move prepared key types into `sapling::keys`
...
We re-export them under `sapling::note_encryption` for now to make the
API changes smaller.
2023-01-24 15:02:43 +00:00
Jack Grigg
ded14adbb3
Add `sapling::keys::DiversifiedTransmissionKey`
2023-01-24 15:02:38 +00:00
Jack Grigg
06ba399d80
Clean up the `sapling::Note` API
2023-01-24 15:02:32 +00:00
Jack Grigg
87d0bd7db1
Refactor `sapling::Note`
...
Its internals are now private, and it stores a `PaymentAddress` (and by
extension the diversifier) instead of `g_d`.
2023-01-24 15:02:27 +00:00
Jack Grigg
dff21222fb
Require `PaymentAddress` to contain a valid diversifier
2023-01-24 14:51:13 +00:00
Jack Grigg
42c332a7a8
Use `sapling::note::ExtractedNoteCommitment` type in APIs
2023-01-24 14:37:11 +00:00
Jack Grigg
0a26c812e0
Split `sapling::Authorization::Proof` type into Spend and Output types
...
While the Groth16 proofs have identical encodings, they are technically
for different circuits, and we need the ability to differentiate them
during bundle building.
2023-01-20 11:12:49 +00:00
Kris Nuttycombe
79f3f10714
Merge pull request #760 from zcash/759-msrv-1.60
...
Bump MSRV for `zcash_primitives` and dependents to 1.60
2023-01-19 19:33:15 -07:00
Jack Grigg
49b1cb3e69
Bump MSRV for `zcash_primitives` and dependents to 1.60
...
The MSRVs of the component crates are left as-is, partly because our
dependencies don't require us to bump them, and partly because those
crates have no pending changes and are relatively stable. We also plan
to split the component crates out into a separate repository, where it
will be easier to have a separate MSRV.
Closes zcash/librustzcash#759 .
2023-01-19 23:48:24 +00:00
Jack Grigg
19d8e2125e
Introduce `sapling::keys::{EphemeralSecretKey, EphemeralPublicKey}` types
2023-01-06 22:42:33 +00:00
Jack Grigg
7fb80d55d6
Introduce `sapling::keys::SharedSecret` type
2023-01-06 22:24:40 +00:00
Jack Grigg
23922ca290
Add Sapling value types
...
These are modeled after the value types developed for the `orchard`
crate.
2022-12-20 05:16:39 +00:00
Jack Grigg
fee0b6a18d
Make Sapling transaction structs non-transparent
...
We instead provide getters for the struct fields.
2022-12-13 04:03:06 +00:00
Jack Grigg
4435c4789f
zcash_primitives 0.9.1
2022-12-06 06:14:28 +00:00
Jack Grigg
a1da018f1c
zcash_primitives: Count Sapling padding in `Builder::build_zfuture` fees
...
Closes zcash/librustzcash#709 .
2022-12-06 06:13:09 +00:00
Jack Grigg
c3b6e5a72a
zcash_primitives 0.9.0
2022-11-11 20:37:55 +00:00
Jack Grigg
318d1b7522
Clean up changelogs
2022-11-11 20:29:26 +00:00
Jack Grigg
69665b9284
Add identity `MapAuth` implementations
2022-11-11 03:38:58 +00:00
Kris Nuttycombe
73ab884073
Implement ZIP 317 fee estimation, calculation, & change selection
2022-11-10 15:30:13 -07:00