Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
7f8a848
Circleci project setup (#1)
PaulLaux Mar 30, 2022
1328c62
issuer keys implementation (#5)
daniben31 Jun 14, 2022
e6b7762
Added NoteType to Notes (#2)
PaulLaux Jun 14, 2022
088abc6
ZSA note encryption in Orchard crate (#3)
naure Jul 20, 2022
1420f84
Zsa builder (#4)
PaulLaux Sep 19, 2022
0b2988a
Issuance (#12)
PaulLaux Sep 29, 2022
9b43497
E2E tests for issuance (#20)
alexeykoren Oct 20, 2022
985d0d2
disabled split notes (#22)
PaulLaux Oct 20, 2022
f3ebe7a
Review fixes (#23)
PaulLaux Oct 26, 2022
355b569
Review fixes2 (#24)
PaulLaux Oct 27, 2022
9405f80
verify_issue_bundle() cleanup (#25)
PaulLaux Oct 28, 2022
d8f3563
ZSA burn functionality (#35)
alexeykoren Dec 7, 2022
5a50fb8
Create dummy spend in empty builder by default (#36)
alexeykoren Dec 18, 2022
efbfc19
AssetID test vectors (#34)
alexeykoren Dec 20, 2022
babf1da
CI-Badge (#37)
PaulLaux Dec 21, 2022
4681cc2
Use different random nullifiers in dummy notes (#39)
alexeykoren Dec 23, 2022
cec48d7
V3 encryption (#38)
PaulLaux Jan 31, 2023
4e47677
Minimal API changes for Issuance in Client (#43)
alexeykoren Feb 9, 2023
cbf0a3a
Circuit: Split_flag handling (#42)
ConstanceBeguier Feb 14, 2023
43d5e77
AssetBase spec update (#44)
PaulLaux Mar 2, 2023
527e29a
Upgrade pprof version with a limited inferno version (#48)
ConstanceBeguier Mar 20, 2023
f0b7948
Making changes to the asset base derivation from the asset identifier…
vivek-arte Apr 18, 2023
563b4e5
Circuit: Update value_commit_orchard to take into account asset (#50)
ConstanceBeguier Apr 21, 2023
7d3b6df
Constant-time note commitment for ZEC and ZSA (#54)
ConstanceBeguier Apr 25, 2023
ea0fd59
Add tracking for supply info inside verify_issue_bundle (#55)
dmidem May 4, 2023
9a35108
Add getter method for Bundle.burn field (#58)
dmidem May 10, 2023
4e1c616
Merge branch 'main' into zsa1
ConstanceBeguier May 12, 2023
c77d96c
Merge branch main into zsa1 (#59)
ConstanceBeguier May 16, 2023
aeb9934
Circuit: Update note_commit to take into account asset (#56)
ConstanceBeguier May 23, 2023
b4f6281
Circuit: Use nf_old_pub to evaluate new note commitment (with rho_new…
ConstanceBeguier May 25, 2023
95fcf88
Circuit: Check pk_d_old = derived_pk_d_old only when split_flag = 0 (…
ConstanceBeguier May 29, 2023
8e71fff
Protect bundle burn from adding assets with zero amount (#60)
dmidem May 29, 2023
bedc732
Circuit: Add tests for orchard circuit (#63)
ConstanceBeguier Jun 1, 2023
32eee6e
Do not create split notes with native asset (#65)
ConstanceBeguier Jun 6, 2023
02fa582
Global padding for bundle (#67)
ConstanceBeguier Jun 6, 2023
9965a6d
Add serialization of finalize flag (#68)
ConstanceBeguier Jun 6, 2023
7ad2bac
Fix IssueBundle and IssueAction structures (#70)
ConstanceBeguier Jun 12, 2023
950b806
Updates to TXID Digest and Authorizing Data Commitment (#66)
vivek-arte Jun 13, 2023
8bc18f7
Merge branch main into zsa1
ConstanceBeguier Jun 13, 2023
5b003f8
Merge branch main into zsa1 (#72)
ConstanceBeguier Jun 13, 2023
f49be89
Update code to refer to the upgraded version of librustzcash and refl…
dmidem Jun 19, 2023
aa1d895
Fix issuance key derivation (#74)
ConstanceBeguier Jun 20, 2023
daf6269
Preventing Asset Base from being the identity point on the Pallas cur…
vivek-arte Jun 21, 2023
477f949
Update random nullifier for split notes and circuit (#76)
ConstanceBeguier Jun 23, 2023
d4ff716
Merge branch 'zsa1' into upgrade_librustzcash_for_orchard_v05_new
dmidem Jun 23, 2023
21d7273
Use tag instead of branch for zcash_note_encryption (librustzcash) re…
dmidem Jun 23, 2023
62d4ae7
Change tag name for zcash_note_encryption in root Cargo.toml
dmidem Jun 23, 2023
1a00c4a
Upgrade orchard to v0.5 and integrate corresponding librustzcash upgr…
dmidem Jun 23, 2023
ff2ac96
Circuit: Add constraints (#77)
ConstanceBeguier Jun 29, 2023
081513b
Circuit: Fix balance violation (#78)
ConstanceBeguier Jul 24, 2023
139ecca
Circuit: Add enable_zsa flag (#79)
ConstanceBeguier Aug 31, 2023
7937e5b
Enhance and cleanup ivk-to-bytes-visibility-downgrade branch (#81)
dmidem Oct 4, 2023
8b0560d
Circuit: optimized short range check on 4 and 5 bits (#86)
ConstanceBeguier Oct 16, 2023
2810365
Circuit: remove mutiplexer chip (#90)
ConstanceBeguier Oct 17, 2023
a680f41
Circuit: optimize ZEC/ZSA hash computations in note commitment (#87)
ConstanceBeguier Oct 18, 2023
7b943e1
Adopt Orchard ZSA for Zebra (introduce zcash_note_encryption_zsa alia…
dmidem Nov 1, 2023
f38d6b9
Rename `sk_iss` to `isk`, the `IssuanceKey` struct to `IssuanceAuthor…
vivek-arte Nov 7, 2023
0ee75f5
Circuit: move mux functionality into CondSwap chip (#94)
ConstanceBeguier Dec 18, 2023
344b647
Update zcash_note_encryption dependency reference (#95)
dmidem Dec 22, 2023
1a1f3e7
Changing the Issuance Authorization Signature to the BIP 340 Schnorr …
vivek-arte Jan 31, 2024
c9a8f49
Merge branch 'zcash-0.8.0' into zsa1-with-zcash-0.8.0
dmidem Apr 15, 2024
f3d9459
Fix compilation errors after the merge (there're still several compli…
dmidem Apr 24, 2024
0f56f52
Fix compilation errors in tests
dmidem Apr 25, 2024
149827d
Fix cargo doc issues
dmidem Apr 25, 2024
c8c84aa
Fix Builder::bundle function to pass unit tests from tests folder cor…
dmidem Apr 29, 2024
ac371f0
Fix several comments, rename some flag constants
dmidem Apr 30, 2024
7969b9e
Fix flag names after renaming
dmidem Apr 30, 2024
47f7aae
Disable rustfmt for one line in keys.rs module to prevent removing do…
dmidem Apr 30, 2024
bb9e03b
Fix typo in constant name
dmidem Apr 30, 2024
dd956b8
Fix comments, rename DEFAULT_WITH(OUT)_ZSA to DEVAULT_VANILLA(ZSA)
dmidem May 1, 2024
123b609
1) Use Option instead of usize::MAX in builder::partition_by_asset fu…
dmidem May 2, 2024
ee89541
Refactor build function to remove `Copy + Into<i64>` constraints
dmidem May 7, 2024
73218b0
Remove extra comment
dmidem May 7, 2024
50c6310
Fix comments, indroduce and use MatadataIdx type in the builder
dmidem May 9, 2024
78c8efc
Update to upstream (zcash/main v0.8.0) (#103)
dmidem May 9, 2024
39b479e
OrchardZSA backward compatability 0.8.0 (#104)
dmidem Jul 16, 2024
6e6112c
Synchronize Orchard with updates from zcash_note_encryption for zcash…
dmidem Jul 31, 2024
07b3697
Update ShieldedOutput implementation to return reference from enc_cip…
dmidem Aug 14, 2024
3ba9e5b
Remove redundancy in vanilla/zsa circuits
ConstanceBeguier Sep 19, 2024
e2fb49d
Updating test vectors (#114)
vivek-arte Oct 8, 2024
dd69425
Remove ZSA dummy notes
ConstanceBeguier Oct 10, 2024
410037d
Changing the type of the asset description from String to Vec<u8> (#113)
vivek-arte Oct 14, 2024
a7c02d2
Provide compatibility with librustzcash/zcash_client_backend: derive …
dmidem Oct 15, 2024
25020f8
Exclude non-native assets from value_balance (#120)
alexeykoren Nov 13, 2024
8a2a8de
Simplify Unproven struct
ConstanceBeguier Nov 28, 2024
adc6995
Update SIGHASH according to OrchardDomain
ConstanceBeguier Dec 9, 2024
97cf5a3
Add Clone trait to auth-related structures (#125)
alexeykoren Dec 12, 2024
8b89888
Unify unique AssetBase concept in IssueAction
ConstanceBeguier Dec 16, 2024
fe15076
Add a reference note for each first issuance
ConstanceBeguier Dec 17, 2024
9eb97f0
Simplify bundle build function return type (#129)
ConstanceBeguier Dec 20, 2024
3d2515b
Fix some links and typo (#127)
ConstanceBeguier Dec 25, 2024
0d2f439
Install libfontconfig1-dev to fix CI build on updated Ubuntu runner (…
dmidem Jan 6, 2025
69f92a3
Update AssetSuply and SupplyInfo (new) (#133)
dmidem Jan 8, 2025
3dbdbc5
Update to orchard_auth_digest computation (#134)
vivek-arte Jan 18, 2025
70daf8b
[book] Update book with ZSA changes
ConstanceBeguier Jan 23, 2025
40e7e10
Update derivation of the rho value in Issue Notes
ConstanceBeguier Jan 23, 2025
01e85a5
Add NULLIFIER_L constant
ConstanceBeguier Jan 28, 2025
a95364c
Refactor AssetSupply to AssetRecords and update issuance verification…
dmidem Feb 4, 2025
b62f72a
Fix cargo clippy warnings in PR #138 (#140)
dmidem Feb 6, 2025
b8d4543
Merge PCZT into zsa1
ConstanceBeguier Mar 11, 2025
e88e261
Extend Orchard protocol flavor derives (#144)
dmidem Mar 17, 2025
aeec27d
Add ZSA feature into PCZT
ConstanceBeguier Mar 13, 2025
123a2f4
Merge branch 'zsa1' into merge_pczt
ConstanceBeguier Apr 7, 2025
190a50c
Move burn to ActionGroup in OrchardZSA (#145)
alexeykoren Apr 17, 2025
831ca10
change asset_desc to asset_desc_hash (#156)
PaulLaux Apr 17, 2025
75c55b2
resolved conflicts and updated orchard_digest for zsa
PaulLaux Apr 17, 2025
6d557af
Merge branch 'zsa1' into merge_pczt_b and update hashes
PaulLaux Apr 17, 2025
5c09d33
Merge pczt (#157)
PaulLaux Apr 17, 2025
c7d57b1
Reduced Circle CI and github CI runtime (#158)
PaulLaux Apr 19, 2025
37101f4
Lock Sinsemilla version (#160)
ConstanceBeguier Apr 22, 2025
57f39bf
Merge branch 'main' into merge_main_fcb14def
ConstanceBeguier Apr 24, 2025
d56c5d5
Fix tests comparing orchard_digest against a fixed value
ConstanceBeguier Apr 24, 2025
cb539d4
Update test_vectors with last version of zcash-test-vector
ConstanceBeguier Apr 24, 2025
5f080b4
Fix clippy errors
ConstanceBeguier Apr 24, 2025
8388060
Replace ZIP32_ORCHARD_PERSONALIZATION_FOR_ISSUANCE const by ZIP32_ORC…
ConstanceBeguier Apr 24, 2025
572ba6b
Expose (Extracted)NoteCommitment in public API
ConstanceBeguier Apr 24, 2025
502c410
Disable default-features for k256
ConstanceBeguier Apr 29, 2025
8509081
Update Rust version in README
ConstanceBeguier May 1, 2025
cf31792
Merge main fcb14def into zsa1 (#152)
PaulLaux May 1, 2025
0a61d36
Update with new version of Sinsemilla (#159)
ConstanceBeguier May 1, 2025
f2411a0
Use fixed size array for asset_id (#162)
PaulLaux May 6, 2025
9a25bd1
Simplify compute_asset_desc_hash function (#161)
ConstanceBeguier May 6, 2025
7e4f28c
Use the last version of zcash_note_encryption (#165)
ConstanceBeguier May 22, 2025
6616893
Fix CI breakage by pinning proptest 1.2.0 and locking font-kit/half v…
dmidem Jul 1, 2025
cbcdb71
Pczt without domain (#168)
alexeykoren Jul 1, 2025
fdd69e2
Update zcash_note_encryption crate (#171)
ConstanceBeguier Jul 8, 2025
1746a4b
Remove circuit flag when it is possible (#173)
ConstanceBeguier Jul 15, 2025
9f44f55
Fix fake_compact_action visibility (#174)
ConstanceBeguier Jul 15, 2025
f7bcf01
Update circuit implementation (#167)
ConstanceBeguier Jul 23, 2025
c1f3dcc
Upgrate proptest dependency to 1.4.0 to be compatible with Zebra (#175)
dmidem Jul 23, 2025
806878c
Adopt proptest version range (>=1.0,<1.7) and roll back Cargo.lock (#…
dmidem Jul 28, 2025
fab774d
Simplify Orchard Flavor (#176)
ConstanceBeguier Jul 28, 2025
58b710b
Simplify ZSA implementation (#178)
ConstanceBeguier Jul 31, 2025
0982ff6
Remove native_asset_base prop_compose function (#180)
ConstanceBeguier Aug 5, 2025
826dc03
Add rho derivation check in verify_issue_bundle (#183)
ConstanceBeguier Aug 26, 2025
76d9b7e
Updating the encoding of the Issuance Authorization keys and signatur…
vivek-arte Sep 1, 2025
8784d39
Refactor IssueAuthSigScheme trait (#184)
ConstanceBeguier Sep 1, 2025
cc68804
Add versioned signatures (#181)
ConstanceBeguier Sep 8, 2025
0e496fe
Merge branch 'main' into merge_main_9d89b50
ConstanceBeguier Sep 8, 2025
532b0d2
Merge main (until commit 9d89b50) into zsa1 (#186)
PaulLaux Sep 8, 2025
b4517e3
Reduce diff with upstream (#187)
ConstanceBeguier Sep 8, 2025
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
51 changes: 51 additions & 0 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Use the latest 2.1 version of CircleCI pipeline process engine.
# See: https://circleci.com/docs/2.0/configuration-reference
version: 2.1

orbs:
slack: circleci/slack@4.1

# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs
jobs:
cargo-test:
# Specify the execution environment. You can specify an image from Dockerhub or use one of our Convenience Images from CircleCI's Developer Hub.
# See: https://circleci.com/docs/2.0/configuration-reference/#docker-machine-macos-windows-executor
docker:
- image: cimg/rust:1.71.0
# Add steps to the job
# See: https://circleci.com/docs/2.0/configuration-reference/#steps
resource_class: large # specify a resource class
steps:
- checkout
- restore_cache:
keys:
- rust-cache-v1-{{ checksum "Cargo.lock" }}
- rust-cache-v1-
- run:
name: "cargo test"
command: |
sudo apt update && sudo apt-get install libfontconfig libfontconfig1-dev libfreetype6-dev;
cargo version;
cargo test --all --all-features --release;
- save_cache:
paths:
- target
- ~/.cargo/registry
- ~/.cargo/git
key: rust-cache-v1-{{ checksum "Cargo.lock" }}
- slack/notify:
event: fail
template: basic_fail_1
- slack/notify:
event: pass
template: basic_success_1


# Invoke jobs via workflows
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
workflows:
build-and-test:
jobs:
- cargo-test:
context: CI-Orchard-slack
14 changes: 10 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,24 @@
name: CI checks

on: [push, pull_request]
#on: [push, pull_request]
on:
push:
branches: [ main ] # Only runs on push to main
pull_request: # Runs on any PR to any branch

jobs:
test:
name: Test on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macOS-latest]
os: [ ubuntu-latest, windows-latest ]
# os: [ubuntu-latest, windows-latest, macOS-latest]

steps:
- uses: actions/checkout@v4
- name: Run tests
run: cargo test --verbose
run: cargo test --verbose --release
- name: Verify working directory is clean
run: git diff --exit-code

Expand Down Expand Up @@ -111,7 +117,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Generate coverage report
run: cargo tarpaulin --engine llvm --all-features --release --timeout 600 --out xml
run: timeout --preserve-status 300s cargo tarpaulin --engine llvm --timeout 600 --out xml --skip-clean || true
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3.1.4

Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
/target
**/*.rs.bk
.vscode
.idea
action-circuit-layout.png
*.[0-9]
*.[0-9][0-9]
146 changes: 138 additions & 8 deletions Cargo.lock

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

6 changes: 5 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ authors = [
"Kris Nuttycombe <kris@electriccoin.co>",
]
edition = "2021"
rust-version = "1.70"
rust-version = "1.71"
description = "The Orchard shielded transaction protocol"
license = "MIT OR Apache-2.0"
repository = "https://github.com/zcash/orchard"
Expand All @@ -30,6 +30,7 @@ ff = { version = "0.13", default-features = false }
fpe = { version = "0.6", default-features = false, features = ["alloc"] }
group = "0.13"
hex = { version = "0.4", default-features = false, features = ["alloc"] }
k256 = { version = "0.13.0", default-features = false, features = ["arithmetic", "schnorr"] }
lazy_static = "1"
memuse = { version = "0.2.2", default-features = false }
pasta_curves = "0.5"
Expand Down Expand Up @@ -109,5 +110,8 @@ debug = true
debug = true

[patch.crates-io]
sinsemilla = { git = "https://github.com/zcash/sinsemilla", rev = "aabb707e862bc3d7b803c77d14e5a771bcee3e8c" }
zcash_note_encryption = { git = "https://github.com/zcash/zcash_note_encryption", rev = "668ea44cf59a226715a5f3cb1bf88710a8c188a3" }
zcash_spec = { git = "https://github.com/QED-it/zcash_spec", rev = "842d697048a8960348adcde704c24438fc5b4544" }
halo2_gadgets = { git = "https://github.com/zcash/halo2", rev = "2308caf68c48c02468b66cfc452dad54e355e32f" }
halo2_proofs = { git = "https://github.com/zcash/halo2", rev = "2308caf68c48c02468b66cfc452dad54e355e32f" }
Loading