Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
221 commits
Select commit Hold shift + click to select a range
2f3132f
Allowing for variable note plaintext and ciphertext sizes via moving …
vivek-arte Sep 28, 2022
d5deb22
cleaning up and removing commented code, ready for review
vivek-arte Sep 30, 2022
9ff53ec
partial improvements based on comments
vivek-arte Oct 5, 2022
ea580e0
added to encrypt_note_plaintext
vivek-arte Oct 6, 2022
e0ab31e
added to try_note_decryption_inner
vivek-arte Oct 6, 2022
72ae97c
removed convert_to_compact_plaintext function in favour of From trait
vivek-arte Oct 6, 2022
062d40a
completed AsMut related changes for the librustzcash
vivek-arte Oct 7, 2022
4bb7f94
using From trait for combining NotePlaintextBytes and tag into EncNot…
vivek-arte Oct 20, 2022
1344aa7
removing NoteCiphertext<D> enum, adding enc_ciphertext_compact fn to …
vivek-arte Oct 31, 2022
d35c32c
changing function signatures to borrow input arguments
vivek-arte Oct 31, 2022
bf284fc
changing ShieldedOutput function return types
vivek-arte Nov 2, 2022
bc136f2
adding improvements based on review - From trait for CompactNotePlain…
vivek-arte Nov 24, 2022
2ec2801
updated constant names
PaulLaux Dec 19, 2022
29ed088
Use 0.8.1
alexeykoren Dec 13, 2022
0993830
Use Rust 1.61.0 in CI
alexeykoren Dec 13, 2022
89bd654
New orchard version
alexeykoren Dec 18, 2022
d006364
Add TODO for burn reading/writing
alexeykoren Dec 18, 2022
519529a
update
PaulLaux Dec 26, 2022
c27969d
fmt
PaulLaux Dec 26, 2022
3a185c6
updated rust version
PaulLaux Dec 26, 2022
f56db58
removed as_ref()
PaulLaux Dec 28, 2022
77844f4
minor update
PaulLaux Jan 10, 2023
c8beb1f
updated version
PaulLaux Jan 12, 2023
f0c686d
commented out test code
PaulLaux Jan 12, 2023
d318627
minor fix
PaulLaux Jan 22, 2023
57db56b
updated test and cleanup
PaulLaux Jan 23, 2023
db9d03d
updated orchard commit in cargo.toml
PaulLaux Jan 23, 2023
cda1469
Merge branch 'zsa1' into encryption_generalization
PaulLaux Jan 24, 2023
b6f28c2
fmt
PaulLaux Jan 24, 2023
d08c1b7
fixed zcash_client_backend and simplified cargo.toml
PaulLaux Jan 24, 2023
6183ec4
fixed benches/noted_decryption
PaulLaux Jan 24, 2023
ce74cd5
updated Cargo.toml
PaulLaux Jan 31, 2023
07c377d
removed .as_mut()
PaulLaux Jan 31, 2023
70020cf
Merge pull request #18 from QED-it/encryption_generalization
PaulLaux Jan 31, 2023
e033ab7
fmt
PaulLaux Feb 8, 2023
4b17681
fmt2
PaulLaux Feb 8, 2023
9d01f0b
Merge pull request #22 from QED-it/encryption_generalization
PaulLaux Feb 9, 2023
6f58a35
Merge remote-tracking branch 'zcash/main' into upgrade_for_orchard_v0…
dmidem Jun 19, 2023
0cd2812
Fix reference to new upgraded branch in orchard in the root Cargo.toml
dmidem Jun 19, 2023
8d65051
Use tag instead of branch for orchard ref in root Cargo.toml
dmidem Jun 23, 2023
3554273
Upgrade for compatibility with Orchard v0.5 (new) (#36)
dmidem Jun 23, 2023
f10ae22
Zsa1 upsteram merge (#63)
alexeykoren Jun 26, 2024
d58ac5b
minor update
PaulLaux Jan 10, 2023
f34dd02
updated version
PaulLaux Jan 12, 2023
b890183
commented out test code
PaulLaux Jan 12, 2023
f62a230
updated test and cleanup
PaulLaux Jan 23, 2023
a56c5da
New orchard version
alexeykoren Dec 18, 2022
d670033
Add TODO for burn reading/writing
alexeykoren Dec 18, 2022
c6175b8
fixed zcash_client_backend and simplified cargo.toml
PaulLaux Jan 24, 2023
af4d4bb
updated Cargo.toml
PaulLaux Jan 31, 2023
fbbd655
Fix post-rebase problems
alexeykoren May 13, 2024
424bf1a
Make BlockHeader from_data public
alexeykoren Jan 10, 2024
b0b0f65
Make txid bytes public
alexeykoren Jan 10, 2024
dac8d1f
Note serialization
alexeykoren Jan 10, 2024
cd8524b
Update zcash_primitives to use the generalised version of orchard cra…
dmidem Feb 29, 2024
3c83b72
Fix tests accordingly to modifications in orchard
dmidem Mar 4, 2024
aac4840
Minor fix or Rust code format (because of cargo fmt error)
dmidem Mar 5, 2024
6da0474
Fix post-rebase problems
alexeykoren May 13, 2024
0049a3b
Note serialization
alexeykoren Jan 10, 2024
98f4747
Update zcash_primitives to use the generalised version of orchard cra…
dmidem Feb 29, 2024
2365c2b
Introduce issue bundle
alexeykoren Mar 6, 2024
7e87fa5
Orchard domain interface update
alexeykoren Mar 29, 2024
2bd5e45
Work in progress
alexeykoren Apr 1, 2024
2704c8a
Add ZSA
alexeykoren Apr 15, 2024
5eec964
Add issuance
alexeykoren Apr 15, 2024
3a18a4d
Fix fmt
alexeykoren Apr 15, 2024
35f02fb
Fix clippy
alexeykoren Apr 15, 2024
2ab8e16
Fix transparent-inputs
alexeykoren Apr 15, 2024
c841df1
Remove unproven enum
alexeykoren Apr 22, 2024
fb2b73a
Change methods visibility
alexeykoren Apr 22, 2024
cdd8afa
Fix post-rebase compilation errors
alexeykoren May 19, 2024
5733e8d
Revert test vector changes for Nu5
alexeykoren May 19, 2024
008f35e
Change Nu6 activation heights
alexeykoren May 19, 2024
cbd3b38
Use updated sapling-crypto
alexeykoren May 20, 2024
307d025
Add into_transaction method
alexeykoren May 27, 2024
ce0a391
Use nu7 zcash_unstable flag
alexeykoren Jun 10, 2024
b7d4833
Fix transparent builder
alexeykoren Jun 11, 2024
aad64db
Exclude zcash_client crates
alexeykoren Jun 18, 2024
c0d551d
Fix formatting
alexeykoren Jun 18, 2024
944377d
Fix clippy
alexeykoren Jun 18, 2024
5856713
Fix merge issues
alexeykoren Jun 26, 2024
9ddc1a7
Adjust versions
alexeykoren Jun 26, 2024
c0fbc44
Add cargo vet exemption for half
alexeykoren Jun 26, 2024
1ffcf4e
Fix CI
alexeykoren Jun 26, 2024
beb1d8d
Fix tze build
alexeykoren Jun 26, 2024
fee70aa
Fix tze fmt
alexeykoren Jun 26, 2024
2c11d9a
Fix note_encryption version
alexeykoren Jun 26, 2024
918beb9
Disable wasm target
alexeykoren Jun 26, 2024
46ac12c
Replace nu7 with nu6 temporarily
alexeykoren Jun 27, 2024
6b743b8
Fix fmt
alexeykoren Jun 27, 2024
9b9e525
Update librustzcash to align with orchard crate (#67)
dmidem Jul 16, 2024
cac470f
Corrections to V7 transaction format and using updated test vectors (…
vivek-arte Jul 24, 2024
f160f25
Remove duplicate import
alexeykoren Jul 24, 2024
4dbee84
Reformat feature flag
alexeykoren Jul 25, 2024
8b9672d
Address PR comments
alexeykoren Jul 25, 2024
1860f1d
Address PR comments
alexeykoren Jul 25, 2024
f4cf872
Fmt
alexeykoren Jul 26, 2024
aec1879
Clippy
alexeykoren Jul 26, 2024
830260f
Use ZSA BundleType
alexeykoren Jul 26, 2024
acb8f97
Use bundle check instead of has_orchard_zsa
alexeykoren Jul 26, 2024
4f6ec46
Fix upper bound calculation
alexeykoren Jul 26, 2024
3d20879
Fmt
alexeykoren Jul 26, 2024
7f045e7
Add finalization
alexeykoren Jul 29, 2024
f411948
Add issuance builder tests
alexeykoren Jul 30, 2024
3ac2618
Fmt
alexeykoren Jul 30, 2024
ea1770e
Fix double import
alexeykoren Jul 30, 2024
fe88163
Use updated zsa1
alexeykoren Jul 31, 2024
fc38730
Fmt
alexeykoren Jul 31, 2024
6652222
Update zcash_primitives to sync with latest sapling-crypto changes (#70)
dmidem Aug 20, 2024
dc0a815
Minor changes
alexeykoren Aug 14, 2024
a434849
Change V7 to v6
alexeykoren Aug 19, 2024
9f52b1b
Make ciphertext reading generic
alexeykoren Aug 19, 2024
10ff1e0
Updated test vectors (#71)
vivek-arte Sep 3, 2024
f79962b
PR fixes
alexeykoren Sep 4, 2024
738ed17
PR fixes
alexeykoren Sep 4, 2024
25c6cd1
Uncomment CI
alexeykoren Sep 25, 2024
655d961
Add PR fixes
alexeykoren Sep 25, 2024
fc12237
PR Fixes
alexeykoren Sep 30, 2024
8a40922
Check build config in issuance
alexeykoren Sep 30, 2024
12a39c2
Add tx building to tests
alexeykoren Sep 30, 2024
9c51a46
Add test for burn
alexeykoren Oct 1, 2024
6283d33
Fmt
alexeykoren Oct 1, 2024
75e3b46
Simplify upper_bound calculation
alexeykoren Oct 1, 2024
4101a96
Fix clippy and missing lines
alexeykoren Oct 1, 2024
a0a7d38
Simplify imports
alexeykoren Oct 1, 2024
b2d7b18
PR fixes
alexeykoren Oct 8, 2024
798630a
updated syntax
PaulLaux Oct 10, 2024
7301f78
V6/Nu7 implementation (#73)
PaulLaux Oct 10, 2024
b88b021
Changing the type of the asset description from String to Vec<u8> (#72)
vivek-arte Oct 15, 2024
2684455
Provide Zebra compatibility: re-enable and fix zcash_client_backend, …
dmidem Oct 28, 2024
bb65c05
Add Regtest network (#77)
alexeykoren Nov 5, 2024
b61b7f2
Use correct nu6 constants (#80)
alexeykoren Dec 16, 2024
5ea95ea
ActionGroup-based serialization format for Orchard v6 (#86)
alexeykoren Jan 25, 2025
6e5a413
ZSA bundle enum (#78)
alexeykoren Feb 12, 2025
5642a92
Update Orchard version (#103)
alexeykoren Mar 17, 2025
ecc126e
Fix issue bundle hash calculation (#107)
alexeykoren Apr 15, 2025
6175a04
Update Cargo.toml/Cargo.lock to use the latest version of zsa1 branch…
dmidem Apr 15, 2025
57eb094
Serialize burn as part of action group (#105)
alexeykoren Apr 22, 2025
e88964e
Replace the Asset Description string with its hash (#110)
vivek-arte Apr 23, 2025
2cafcc9
Merge remote-tracking branch 'origin/main' into zsa1-update-a1c9aa1-2
alexeykoren Jul 2, 2025
1e7b228
Merge zsa1 with upstream-a1c9aa1
alexeykoren Jul 2, 2025
f4ce8ef
Fixes after merging zsa1 with upstream-a1c9aa1, local tests pass
alexeykoren Jul 2, 2025
6d99440
Fmt
alexeykoren Jul 2, 2025
c0bb174
Fix option
alexeykoren Jul 2, 2025
fd59576
Fix clippy warnings
alexeykoren Jul 2, 2025
f06c4d1
Add cargo vet exemptions
alexeykoren Jul 3, 2025
e4d522e
Enable client crates
alexeykoren Jul 3, 2025
1d3f807
Set Rust toolchain 1.81.0
alexeykoren Jul 3, 2025
8887b86
Add resolver version
alexeykoren Jul 3, 2025
7d0853e
Fmt
alexeykoren Jul 3, 2025
fb364c9
Implement Vanilla in client crates
alexeykoren Jul 3, 2025
2cf7490
Revert toolchain
alexeykoren Jul 3, 2025
1fa2b10
Lock base64ct to 1.7.3
alexeykoren Jul 3, 2025
800f261
Fix imports features
alexeykoren Jul 3, 2025
11fa8e4
Fmt
alexeykoren Jul 3, 2025
02b13aa
Fix docs
alexeykoren Jul 3, 2025
1d3f5c2
Fix compact action building in test
alexeykoren Jul 3, 2025
fdc2663
Fix compact action building in test
alexeykoren Jul 3, 2025
13b761a
Rewind cargo.lock
alexeykoren Jul 3, 2025
0ef0cad
Clean up
alexeykoren Jul 3, 2025
e61af91
Add 'std' feature guard to memuse call
alexeykoren Jul 3, 2025
b9bb4f4
Remove action hashes
alexeykoren Jul 3, 2025
fb5af3d
Add nu7 flag
alexeykoren Jul 3, 2025
8717fe9
Removed redundant clippy allow tag
alexeykoren Jul 3, 2025
90086e6
Unify match branches
alexeykoren Jul 3, 2025
5253d24
Fix CI issues for #113 (#114)
dmidem Jul 23, 2025
34bc44a
Bump Orchard rev to commit that supports range of proptest versions (…
dmidem Jul 28, 2025
531df2f
PR fixes
alexeykoren Jul 28, 2025
6430547
Update proptest version and orchard revision for consistency with ups…
dmidem Jul 30, 2025
e649e34
PR fixes
alexeykoren Jul 30, 2025
f1932ef
Fix dependencies
alexeykoren Aug 13, 2025
178932c
Update Orchard interfaces
alexeykoren Aug 13, 2025
4cdc2d6
PR fixes
alexeykoren Aug 14, 2025
a398db2
PR fixes
alexeykoren Aug 14, 2025
583aba3
Update Zsa1 to upstream a1c9aa1 (PCZT) (#126)
PaulLaux Aug 14, 2025
9ab5061
Add PCZT ZSA e2e test (#119)
alexeykoren Aug 18, 2025
7cc2789
Add Orchard versioned signatures and add ALGORITHM_BYTE to ik and Iss…
ConstanceBeguier Sep 16, 2025
8677912
Removing the Asset Base from the issue note description (#141)
vivek-arte Sep 23, 2025
81efac1
Use OrchardSighashVersion and IssueSighashVersion enum (#142)
ConstanceBeguier Sep 25, 2025
e6c507f
Merge branch 'main' into merge_main_20250926
ConstanceBeguier Sep 26, 2025
e22dfff
Fix zfuture flag
ConstanceBeguier Sep 26, 2025
636671d
Remove write_orchard_bundle
ConstanceBeguier Sep 26, 2025
9e71557
Remove v5_v6_signature_hash
ConstanceBeguier Sep 26, 2025
5e07055
Use read/write/sighash_v6 for zfuture flag
ConstanceBeguier Sep 29, 2025
9915075
Add burn and issuance for zfuture flag
ConstanceBeguier Sep 30, 2025
dc942dd
Use zfuture flag only with nu7
ConstanceBeguier Oct 2, 2025
a6f73a4
Simplify zfuture flag
ConstanceBeguier Oct 2, 2025
cfcb65e
Merge main dfe5474 (#144)
ConstanceBeguier Oct 2, 2025
ea7a883
Add spend_auth_sigs_auth_digest into orchard_auth_digest (#146)
ConstanceBeguier Oct 2, 2025
d49da0e
Add versioned signatures for Sapling transactions (#159)
ConstanceBeguier Oct 29, 2025
8e40b22
Remove PVZT v2 (#161)
ConstanceBeguier Nov 3, 2025
a7e5a5f
Add versioned signatures for Transparent transactions (#160)
ConstanceBeguier Nov 3, 2025
e27124a
Addition of ZIP 317 fee calculation for ZSAs (#148)
vivek-arte Nov 20, 2025
9abd3e7
Fix ZSA fee calculation caused by missing is_new_asset (#182)
ConstanceBeguier Dec 23, 2025
05ec0c6
PR471 review: various fixes (2) (#188)
ConstanceBeguier Jan 6, 2026
0be4227
PR471 review: various fixes (1) (#189)
ConstanceBeguier Jan 6, 2026
91fb7b9
PR471 review: update circuit files (#185)
ConstanceBeguier Jan 6, 2026
b3be87a
PR471 review: use num_actions into build_bundle (#187)
ConstanceBeguier Jan 6, 2026
87c197a
Update rust version (#195)
ConstanceBeguier Jan 13, 2026
8b2025b
PR471 review: Enable zsa-issuance flag in zcash_primitives and refres…
dmidem Jan 13, 2026
87e0128
PR471 review: Add AssetId enum (#196)
ConstanceBeguier Jan 13, 2026
cf0d6fe
PR471 review: fix rho value for the issuance note (#197)
ConstanceBeguier Jan 15, 2026
71e348e
PR471: Make rho optional in Note (#198)
ConstanceBeguier Jan 15, 2026
8b94882
PR471: Add manual Clone for generic OrchardBundle (#199)
dmidem Jan 16, 2026
c1c0a67
PR471 review: Replace (Orchard/Issue)SighashVersioning with (Orchard/…
ConstanceBeguier Jan 20, 2026
f927eb7
PR471 review: Rename native to zatoshi (#201)
ConstanceBeguier Jan 22, 2026
f9134c7
PR471 review: Address Str4d’s feedback from Jan 20, 2026 meeting (#202)
ConstanceBeguier Jan 22, 2026
95a7cef
Adding the ZIP233 fix and updated test vectors on top of the changes …
vivek-arte Feb 13, 2026
2226bb3
updated orchardzsa version and fixed minor zip233 problem
PaulLaux Feb 15, 2026
98d9b40
PR471 review: Fix panics in tx parser and builder, add V6 expiry_heig…
PaulLaux Feb 15, 2026
1b88d13
Address review comments from zcash/orchard PR #471 (#190)
PaulLaux Feb 15, 2026
0879203
Revert rust 2024 edition formatting changes (#213)
PaulLaux Feb 17, 2026
bfaa14a
Sync Orchard dependency with PR #199 (#210)
dmidem Feb 18, 2026
880b8cb
zcash_primitives: revert v6 expiry_height=0 check (#217)
dmidem Feb 24, 2026
7288e44
Merge branch 'qedit-main' into merge_main_20260309
ConstanceBeguier Mar 9, 2026
254e2dd
Fix after merge with upstreeam
ConstanceBeguier Mar 10, 2026
d8609ca
Merge upstream 20260309 (#221)
ConstanceBeguier Mar 24, 2026
75a293e
Reduce diff with upstream (#224)
ConstanceBeguier Mar 24, 2026
0ea7375
Restore public issuance::read_note and update orchard revision (#239)
dmidem Mar 31, 2026
03d6b85
Replace yanked core2 crate with core3 (pinned =0.1.2) (#261)
PaulLaux Apr 16, 2026
3f9b53f
Making changes based on update to zcash-test-vectors (#259)
vivek-arte Apr 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 11 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
- state: all-features
all-features: true
- state: NU7
all-features: true
all-features: true # ZIP-233 feature is enabled
rustflags: '--cfg zcash_unstable="nu7"'

env:
Expand Down Expand Up @@ -109,7 +109,7 @@ jobs:
- state: all-features
all-features: true
- state: NU7
all-features: true
all-features: true # ZIP-233 feature is enabled
rustflags: '--cfg zcash_unstable="nu7"'

exclude:
Expand Down Expand Up @@ -143,6 +143,12 @@ jobs:
cargo test
--workspace
${{ steps.prepare.outputs.feature-flags }}
- name: Run pczt end-to-end tests
run: >
cargo test
--package pczt
--test end_to_end
--features "io-finalizer,prover,signer,tx-extractor,spend-finalizer,zcp-builder,internal-tests"
- name: Verify working directory is clean
run: git diff --exit-code

Expand Down Expand Up @@ -172,7 +178,7 @@ jobs:
- state: all-features
all-features: true
- state: NU7
all-features: true
all-features: true # ZIP-233 feature is enabled
rustflags: '--cfg zcash_unstable="nu7"'

env:
Expand Down Expand Up @@ -227,10 +233,10 @@ jobs:
os: windows-latest

- state: ZFuture
rustflags: '--cfg zcash_unstable="zfuture"'
rustflags: '--cfg zcash_unstable="nu7" --cfg zcash_unstable="zfuture"'
- state: ZFuture-allfeatures
all-features: true
rustflags: '--cfg zcash_unstable="zfuture"'
rustflags: '--cfg zcash_unstable="nu7" --cfg zcash_unstable="zfuture"'

env:
RUSTFLAGS: ${{ matrix.rustflags }}
Expand Down
41 changes: 21 additions & 20 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 9 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -228,3 +228,12 @@ unexpected_cfgs = { level = "warn", check-cfg = [
'cfg(zcash_unstable, values("zfuture", "nu7"))',
'cfg(live_network_tests)',
] }

[patch.crates-io]
# core2 0.3.x was yanked from crates.io (Apr 2026); patch to the archived git source
core2 = { git = "https://github.com/bbqsrc/core2", rev = "7bf2611bd9a52b438300c640e142ad5c1298b05b" }
sapling = { package = "sapling-crypto", git = "https://github.com/QED-it/sapling-crypto", rev = "59535fb5d34b5c5cf1b20ef18269f5c65228378c" }
orchard = { git = "https://github.com/QED-it/orchard", rev = "77d3274cb1f4620e9a1b86477c490fa123dff6bd" }
sinsemilla = { git = "https://github.com/zcash/sinsemilla", rev = "aabb707e862bc3d7b803c77d14e5a771bcee3e8c" }
zcash_note_encryption = { git = "https://github.com/zcash/zcash_note_encryption", rev = "9f7e93d42cef839d02b9d75918117941d453f8cb" }
zcash_spec = { git = "https://github.com/QED-it/zcash_spec", rev = "d5e84264d2ad0646b587a837f4e2424ca64d3a05" }
42 changes: 39 additions & 3 deletions components/zcash_protocol/src/consensus.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@

impl fmt::Display for BlockHeight {
fn fmt(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
self.0.fmt(formatter)

Check warning on line 42 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl fmt::Display for BlockHeight>::fmt -> fmt::Result with Ok(Default::default())

Check warning on line 42 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl fmt::Display for BlockHeight>::fmt -> fmt::Result with Ok(Default::default())

Check warning on line 42 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl fmt::Display for BlockHeight>::fmt -> fmt::Result with Ok(Default::default())

Check warning on line 42 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl fmt::Display for BlockHeight>::fmt -> fmt::Result with Ok(Default::default())

Check warning on line 42 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl fmt::Display for BlockHeight>::fmt -> fmt::Result with Ok(Default::default())

Check warning on line 42 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl fmt::Display for BlockHeight>::fmt -> fmt::Result with Ok(Default::default())

Check warning on line 42 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl fmt::Display for BlockHeight>::fmt -> fmt::Result with Ok(Default::default())
}
}

Expand All @@ -63,7 +63,7 @@

impl From<BlockHeight> for u32 {
fn from(value: BlockHeight) -> u32 {
value.0

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 1

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 0

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 1

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 0

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 1

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 0

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 1

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 0

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 1

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 0

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 1

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 0

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 1

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 0

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 1

Check warning on line 66 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u32>::from -> u32 with 0
}
}

Expand All @@ -77,7 +77,7 @@

impl From<BlockHeight> for u64 {
fn from(value: BlockHeight) -> u64 {
value.0 as u64

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 1

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 0

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 1

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 0

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 1

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 0

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 1

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 0

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 1

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 0

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 1

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 0

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 1

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 0

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 1

Check warning on line 80 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for u64>::from -> u64 with 0
}
}

Expand All @@ -99,7 +99,7 @@

impl From<BlockHeight> for i64 {
fn from(value: BlockHeight) -> i64 {
value.0 as i64

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with -1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 0

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with -1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 0

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with -1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 0

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with -1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 0

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with -1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 0

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with -1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 0

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with -1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 0

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with -1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 1

Check warning on line 102 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl From<BlockHeight> for i64>::from -> i64 with 0
}
}

Expand All @@ -123,7 +123,7 @@
type Output = u32;

fn sub(self, other: BlockHeight) -> u32 {
self.0.saturating_sub(other.0)

Check warning on line 126 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl Sub<BlockHeight> for BlockHeight>::sub -> u32 with 0

Check warning on line 126 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl Sub<BlockHeight> for BlockHeight>::sub -> u32 with 0

Check warning on line 126 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl Sub<BlockHeight> for BlockHeight>::sub -> u32 with 0

Check warning on line 126 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl Sub<BlockHeight> for BlockHeight>::sub -> u32 with 0

Check warning on line 126 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl Sub<BlockHeight> for BlockHeight>::sub -> u32 with 0

Check warning on line 126 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl Sub<BlockHeight> for BlockHeight>::sub -> u32 with 0

Check warning on line 126 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl Sub<BlockHeight> for BlockHeight>::sub -> u32 with 0

Check warning on line 126 in components/zcash_protocol/src/consensus.rs

View workflow job for this annotation

GitHub Actions / Mutation testing of zcash_protocol

Missed mutant

replace <impl Sub<BlockHeight> for BlockHeight>::sub -> u32 with 0
}
}

Expand Down Expand Up @@ -526,7 +526,39 @@
NetworkUpgrade::Nu6 => Some(BlockHeight(2_976_000)),
NetworkUpgrade::Nu6_1 => Some(BlockHeight(3_536_500)),
#[cfg(zcash_unstable = "nu7")]
NetworkUpgrade::Nu7 => None,
NetworkUpgrade::Nu7 => Some(BlockHeight(4_000_000)),
#[cfg(zcash_unstable = "zfuture")]
NetworkUpgrade::ZFuture => None,
}
}
}

/// Marker struct for the regtest network.
#[derive(PartialEq, Eq, Copy, Clone, Debug)]
pub struct RegtestNetwork;

#[cfg(feature = "std")]
memuse::impl_no_dynamic_usage!(RegtestNetwork);

pub const REGTEST_NETWORK: RegtestNetwork = RegtestNetwork;

impl Parameters for RegtestNetwork {
fn network_type(&self) -> NetworkType {
NetworkType::Regtest
}

fn activation_height(&self, nu: NetworkUpgrade) -> Option<BlockHeight> {
match nu {
NetworkUpgrade::Overwinter => Some(BlockHeight(1)),
NetworkUpgrade::Sapling => Some(BlockHeight(1)),
NetworkUpgrade::Blossom => Some(BlockHeight(1)),
NetworkUpgrade::Heartwood => Some(BlockHeight(1)),
NetworkUpgrade::Canopy => Some(BlockHeight(1)),
NetworkUpgrade::Nu5 => Some(BlockHeight(1)),
NetworkUpgrade::Nu6 => Some(BlockHeight(1)),
NetworkUpgrade::Nu6_1 => Some(BlockHeight(1)),
#[cfg(zcash_unstable = "nu7")]
NetworkUpgrade::Nu7 => Some(BlockHeight(1)),
#[cfg(zcash_unstable = "zfuture")]
NetworkUpgrade::ZFuture => None,
}
Expand All @@ -540,6 +572,8 @@
MainNetwork,
/// Zcash Testnet.
TestNetwork,
/// Zcash Regtest.
RegtestNetwork,
}

#[cfg(feature = "std")]
Expand All @@ -550,13 +584,15 @@
match self {
Network::MainNetwork => NetworkType::Main,
Network::TestNetwork => NetworkType::Test,
Network::RegtestNetwork => NetworkType::Regtest,
}
}

fn activation_height(&self, nu: NetworkUpgrade) -> Option<BlockHeight> {
match self {
Network::MainNetwork => MAIN_NETWORK.activation_height(nu),
Network::TestNetwork => TEST_NETWORK.activation_height(nu),
Network::RegtestNetwork => REGTEST_NETWORK.activation_height(nu),
}
}
}
Expand Down Expand Up @@ -745,7 +781,7 @@
0xc8e7_1055 => Ok(BranchId::Nu6),
0x4dec_4df0 => Ok(BranchId::Nu6_1),
#[cfg(zcash_unstable = "nu7")]
0xffff_ffff => Ok(BranchId::Nu7),
0x7719_0ad8 => Ok(BranchId::Nu7),
#[cfg(zcash_unstable = "zfuture")]
0xffff_ffff => Ok(BranchId::ZFuture),
_ => Err("Unknown consensus branch ID"),
Expand All @@ -766,7 +802,7 @@
BranchId::Nu6 => 0xc8e7_1055,
BranchId::Nu6_1 => 0x4dec_4df0,
#[cfg(zcash_unstable = "nu7")]
BranchId::Nu7 => 0xffff_ffff,
BranchId::Nu7 => 0x7719_0ad8,
#[cfg(zcash_unstable = "zfuture")]
BranchId::ZFuture => 0xffff_ffff,
}
Expand Down
2 changes: 1 addition & 1 deletion components/zcash_protocol/src/constants.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ pub const V5_VERSION_GROUP_ID: u32 = 0x26A7270A;
pub const V6_TX_VERSION: u32 = 6;
/// The version group ID for Zcash v6 transactions.
#[cfg(zcash_unstable = "nu7")]
pub const V6_VERSION_GROUP_ID: u32 = 0xFFFFFFFF;
pub const V6_VERSION_GROUP_ID: u32 = 0x77777777;

/// This version is used exclusively for in-development transaction
/// serialization, and will never be active under the consensus rules.
Expand Down
1 change: 1 addition & 0 deletions pczt/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@ shardtree.workspace = true
zcash_primitives = { workspace = true, features = [
"test-dependencies",
"transparent-inputs",
"zsa-issuance",
] }
zcash_proofs = { workspace = true, features = ["bundled-prover"] }
zip32.workspace = true
Expand Down
2 changes: 1 addition & 1 deletion pczt/src/orchard.rs
Original file line number Diff line number Diff line change
Expand Up @@ -528,7 +528,7 @@ impl Bundle {
output: Output {
cmx: output.cmx().to_bytes(),
ephemeral_key: output.encrypted_note().epk_bytes,
enc_ciphertext: output.encrypted_note().enc_ciphertext.to_vec(),
enc_ciphertext: output.encrypted_note().enc_ciphertext.0.to_vec(),
out_ciphertext: output.encrypted_note().out_ciphertext.to_vec(),
recipient: action
.output()
Expand Down
11 changes: 9 additions & 2 deletions pczt/src/roles/signer/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ use rand_core::OsRng;

use ::transparent::sighash::{SIGHASH_ANYONECANPAY, SIGHASH_NONE, SIGHASH_SINGLE};
use zcash_primitives::transaction::{
Authorization, TransactionData, TxDigests, TxVersion, sighash::SignableInput,
Authorization, OrchardBundle, TransactionData, TxDigests, TxVersion, sighash::SignableInput,
sighash_v5::v5_signature_hash, txid::TxIdDigester,
};
use zcash_protocol::consensus::BranchId;
Expand Down Expand Up @@ -384,7 +384,10 @@ pub(crate) fn pczt_to_tx_data(

let sapling_bundle = sapling.extract_effects().map_err(Error::SaplingExtract)?;

let orchard_bundle = orchard.extract_effects().map_err(Error::OrchardExtract)?;
let orchard_bundle = orchard
.extract_effects()
.map_err(Error::OrchardExtract)?
.map(OrchardBundle::OrchardVanilla);

Ok(TransactionData::from_parts(
version,
Expand All @@ -400,6 +403,8 @@ pub(crate) fn pczt_to_tx_data(
None,
sapling_bundle,
orchard_bundle,
#[cfg(zcash_unstable = "nu7")]
None,
))
}

Expand All @@ -409,6 +414,8 @@ impl Authorization for EffectsOnly {
type TransparentAuth = transparent::bundle::EffectsOnly;
type SaplingAuth = sapling::bundle::EffectsOnly;
type OrchardAuth = orchard::bundle::EffectsOnly;
#[cfg(zcash_unstable = "nu7")]
type IssueAuth = orchard::issuance::EffectsOnly;
#[cfg(zcash_unstable = "zfuture")]
type TzeAuth = core::convert::Infallible;
}
Expand Down
Loading
Loading