Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
4f27b6b
Add concrete error types for add_spend and add_output
AloeareV Dec 1, 2022
8c2326c
Error -> BuildError
AloeareV Dec 1, 2022
6e8e273
Error -> BuildError, add PartialEq, Eq to SpendError
AloeareV Dec 1, 2022
bf9ff1d
Fix changelog
AloeareV Dec 7, 2022
9807e32
Fix changelog
AloeareV Dec 8, 2022
938b122
Replace type alias with zero-size struct
AloeareV Dec 8, 2022
4296860
Partially apply suggestions from code review
AloeareV Dec 8, 2022
e466d7b
Add Display and Error impls for error types
AloeareV Dec 8, 2022
06cea3f
Merge pull request #366 from zingolabs/add_concrete_errors_for_spend_…
nuttycom Dec 8, 2022
13d0d55
Add spends/outputs getter fns to builders for use in change calculation
AloeareV Dec 1, 2022
c346327
fix changelog additions
AloeareV Dec 8, 2022
cd8a39b
Format comments
AloeareV Dec 8, 2022
1f13327
Fix typo
rex4539 Dec 31, 2022
54b6e74
Merge pull request #367 from rex4539/typos
nuttycom Jan 3, 2023
b64d6ba
Update src/builder.rs
AloeareV Jan 3, 2023
e2bfd99
Merge pull request #365 from zingolabs/add_spends_and_outputs_getters…
nuttycom Jan 3, 2023
0f123ca
Bump MSRV to 1.60
str4d Feb 28, 2023
3beea4a
Migrate to `ff 0.13`
str4d Feb 28, 2023
0bc40d8
Merge pull request #377 from zcash/ff-0.13
nuttycom Mar 9, 2023
cf526f5
Fix clippy beta lints that are applicable given an MSRV of 1.60
nuttycom Mar 10, 2023
e9a2de7
Fix `cargo doc` complaints.
nuttycom Mar 10, 2023
61a67f0
Merge pull request #380 from nuttycom/cleanup/fix_lints
daira Mar 10, 2023
bb22122
Fix halo2_proofs features for wasm32 build & add ci for wasm build.
nuttycom Mar 19, 2023
a7c438e
Upgrade patch version of halo2 dependencies.
nuttycom Mar 19, 2023
7a7f3ec
Merge pull request #382 from nuttycom/upgrade_halo2_patch_dependency
nuttycom Mar 20, 2023
46d6766
Remove the `halo2-batch` feature flag and rename `halo2-multicore` to…
nuttycom Mar 20, 2023
6cbde27
Merge pull request #383 from nuttycom/fix/remove_batch_feature
nuttycom Mar 20, 2023
dca3311
Migrate to zcash_note_encryption 0.3.0
nuttycom Mar 9, 2023
8ecef22
Merge pull request #379 from zcash/note_encryption_remove_recipient
nuttycom Mar 21, 2023
bbc4ee1
Use released version of zcash_note_encryption 0.3.0
nuttycom Mar 22, 2023
97d1260
Merge pull request #384 from nuttycom/use_zcash_not_encryption-0.3.0-…
nuttycom Mar 22, 2023
feedd69
Update to halo2_proofs and halo2_gadgets v0.3.0
nuttycom Mar 22, 2023
bdcf15b
Merge pull request #385 from nuttycom/upgrade/halo2_0.3.0
nuttycom Mar 22, 2023
8f45254
Upgrade `incrementalmerkletree` dependency to version 0.3.1
nuttycom Apr 5, 2023
047201d
Merge pull request #387 from nuttycom/upgrade/incrementalmerkletree_0…
nuttycom Apr 5, 2023
955681b
Migrate to `fpe 0.6`
str4d Apr 10, 2023
d612d04
Merge pull request #388 from zcash/369-fpe-0.6
nuttycom Apr 10, 2023
a65018f
Fix variable name in `spec::diversify_hash`
str4d Apr 11, 2023
b40a12f
Merge pull request #389 from zcash/368-fix-variable-name
nuttycom Apr 11, 2023
63ab47e
orchard 0.4.0
str4d Apr 11, 2023
7d4aa67
Merge pull request #390 from zcash/release-0.4.0
str4d Apr 11, 2023
8bc53ec
Update to development versions of incrementalmerkletree/bridgetree
nuttycom Feb 16, 2023
3619b86
Merge pull request #373 from nuttycom/update_incrementalmerkletree
nuttycom Apr 12, 2023
4e1c616
Merge branch 'main' into zsa1
ConstanceBeguier May 12, 2023
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: 16 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,22 @@ jobs:
command: test
args: --verbose

build:
name: Build target ${{ matrix.target }}
runs-on: ubuntu-latest
strategy:
matrix:
target:
- wasm32-wasi

steps:
- uses: actions/checkout@v3
- name: Add target
run: rustup target add ${{ matrix.target }}
- run: cargo fetch
- name: Build for ${{ matrix.target }} target
run: cargo build --verbose --no-default-features --target ${{ matrix.target }}

bitrot:
name: Bitrot check
runs-on: ubuntu-latest
Expand Down
24 changes: 23 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,29 @@ and this project adheres to Rust's notion of

## [Unreleased]

## [0.4.0] - 2023-04-11
### Added
- `orchard::builder`:
- `{SpendInfo::new, InputView, OutputView}`
- `Builder::{spends, outputs}`
- `SpendError`
- `OutputError`

### Changed
- MSRV is now 1.60.0.
- Migrated to `ff 0.13`, `group 0.13`, `pasta_curves 0.5`, `halo2_proofs 0.3`,
`halo2_gadgets 0.3`, `reddsa 0.5`, `zcash_note_encryption 0.3`.
- `orchard::builder`:
- `Builder::{add_spend, add_output}` now use concrete error types instead of
`&'static str`s.
- `Error` has been renamed to `BuildError` to differentiate from new error
types.
- `BuildError` now implements `std::error::Error` and `std::fmt::Display`.

### Fixed
- Several bugs have been fixed that were preventing Orchard bundles from being
created or verified on 32-bit platforms, or with recent versions of Rust.

## [0.3.0] - 2022-10-19
### Added
- `orchard::Proof::add_to_batch`
Expand All @@ -21,7 +44,6 @@ and this project adheres to Rust's notion of
- `impl memuse::DynamicUsage for Nullifier`
- `orchard::note_encryption`:
- `impl memuse::DynamicUsage for OrchardDomain`
- `orchard::builder::SpendInfo::new`
- `orchard::circuit::Circuit::from_action_context`
- impls of `Eq` for:
- `orchard::zip32::ChildIndex`
Expand Down
30 changes: 19 additions & 11 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "orchard"
version = "0.3.0"
version = "0.4.0"
authors = [
"Sean Bowe <sean@electriccoin.co>",
"Jack Grigg <jack@electriccoin.co>",
Expand All @@ -23,39 +23,43 @@ all-features = true
rustdoc-args = ["--cfg", "docsrs", "--html-in-header", "katex-header.html"]

[dependencies]
aes = "0.7"
aes = "0.8"
bitvec = "1"
blake2b_simd = "1"
ff = "0.12"
fpe = "0.5"
group = { version = "0.12.1", features = ["wnaf-memuse"] }
bridgetree = { version = "0.2", optional = true }
ff = "0.13"
fpe = "0.6"
group = { version = "0.13", features = ["wnaf-memuse"] }
halo2_gadgets = { git = "https://github.com/QED-it/halo2", branch = "zsa1" }
halo2_proofs = { git = "https://github.com/QED-it/halo2", branch = "zsa1"}
halo2_proofs = { git = "https://github.com/QED-it/halo2", branch = "zsa1", default-features = false, features = ["batch", "floor-planner-v1-legacy-pdqsort"] }
hex = "0.4"
lazy_static = "1"
memuse = { version = "0.2.1", features = ["nonempty"] }
pasta_curves = "0.4"
pasta_curves = "0.5"
proptest = { version = "1.0.0", optional = true }
rand = "0.8"
reddsa = "0.3"
reddsa = "0.5"
nonempty = "0.7"
serde = { version = "1.0", features = ["derive"] }
subtle = "2.3"
zcash_note_encryption = "0.2"
incrementalmerkletree = "0.3"
incrementalmerkletree = "0.3.1"

# Logging
tracing = "0.1"

# Developer tooling dependencies
image = { version = ">= 0.24, < 0.24.5", optional = true } # 0.24.5 has MSRV 1.61
plotters = { version = "0.3.0", optional = true }

[dev-dependencies]
bridgetree = "0.2"
criterion = "0.3"
halo2_gadgets = { git = "https://github.com/QED-it/halo2", branch = "zsa1", features = ["test-dependencies"] }
hex = "0.4"
proptest = "1.0.0"
zcash_note_encryption = { version = "0.2", features = ["pre-zip-212"] }
incrementalmerkletree = { version = "0.3", features = ["test-dependencies"] }

[target.'cfg(unix)'.dev-dependencies]
inferno = ">= 0.11, < 0.11.15"
Expand All @@ -65,8 +69,10 @@ pprof = { version = "0.9", features = ["criterion", "flamegraph"] } # MSRV 1.56
bench = false

[features]
dev-graph = ["halo2_proofs/dev-graph", "plotters"]
test-dependencies = ["proptest"]
default = ["multicore"]
multicore = ["halo2_proofs/multicore"]
dev-graph = ["halo2_proofs/dev-graph", "image", "plotters"]
test-dependencies = ["bridgetree", "proptest"]

[[bench]]
name = "note_decryption"
Expand All @@ -88,3 +94,5 @@ debug = true

[patch.crates-io]
zcash_note_encryption = { git = "https://github.com/QED-it/librustzcash.git", rev = "07c377ddedf71ab7c7a266d284b054a2dafc2ed4" }
bridgetree = { git = "https://github.com/zcash/incrementalmerkletree.git", rev = "ea1686e8f8f6c1e41aa97251a7eb4fadfd33df47" }
incrementalmerkletree = { git = "https://github.com/zcash/incrementalmerkletree.git", rev = "ea1686e8f8f6c1e41aa97251a7eb4fadfd33df47" }
1 change: 0 additions & 1 deletion rust-toolchain

This file was deleted.

3 changes: 3 additions & 0 deletions rust-toolchain.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[toolchain]
channel = "1.61.0"
components = [ "clippy", "rustfmt" ]
Loading