Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
324eaf0
Bump auguwu/clippy-action from 1.3.0 to 1.4.0
dependabot[bot] Jul 1, 2024
1aa5197
Release sapling-crypto version 0.2.0
nuttycom Aug 12, 2024
984a088
Merge pull request #139 from nuttycom/release/0.2.0
nuttycom Aug 12, 2024
b1ad369
Update to incrementalmerkletree version 0.7
nuttycom Sep 26, 2024
ac2c1e2
Merge pull request #141 from zcash/incrementalmerkletree_0.7
str4d Sep 26, 2024
79a285d
Merge pull request #138 from zcash/dependabot/github_actions/auguwu/c…
str4d Sep 27, 2024
2f6a082
Release sapling-crypto version 0.3.0
nuttycom Oct 2, 2024
0de2402
Merge pull request #142 from zcash/release/sapling-crypto-0.3.0
nuttycom Oct 2, 2024
a8fb276
Fix `OutputProver::prepare_circuit` API to be usable outside the crate
str4d Oct 12, 2024
0351517
Merge pull request #144 from zcash/output-prover-api-fix
str4d Oct 24, 2024
6527e79
Broaden `Authorization`s from `SpendDescriptionV5::into_spend_descrip…
str4d Oct 12, 2024
44c4b17
Merge pull request #143 from zcash/generalise-spend-desc-conversion
str4d Oct 24, 2024
7696219
Implement PCZT support
str4d Nov 28, 2024
f228f52
Add the PCZT Updater role
str4d Dec 5, 2024
833eb2e
Modify builder to take spending keys as late as possible
str4d Dec 5, 2024
42a1de5
Add `DiversifiableFullViewingKey::to_internal_fvk`.
nuttycom Dec 5, 2024
29cff96
pczt: Store proof generation key for dummy spends
str4d Dec 7, 2024
96d0e69
Fix clippy lint
str4d Dec 7, 2024
e177a08
Merge pull request #146 from zcash/pczt
str4d Dec 12, 2024
231f819
Add methods for validating aspects of PCZT bundles
str4d Dec 13, 2024
94ad2b3
Adjust cases in `pczt::Spend::vk_for_validation`
str4d Dec 13, 2024
5bf2578
Merge pull request #147 from zcash/pczt-verifier
str4d Dec 13, 2024
e47d57f
pczt: Add output field for storing the user-facing address
str4d Dec 13, 2024
34aedac
Merge pull request #148 from zcash/pczt-user-address
nuttycom Dec 13, 2024
2394484
Release sapling-crypto version 0.4.0
nuttycom Dec 17, 2024
88b6441
Merge pull request #149 from zcash/release/sapling-v0.4.0
str4d Dec 17, 2024
0d39b44
pczt: Document how `expected_fvk` is used by `Spend::verify_nullifier`
str4d Dec 17, 2024
29ec9ad
pczt: Add `Zip32Derivation::extract_account_index`
str4d Dec 17, 2024
3c22357
Merge pull request #150 from zcash/pczt-improvements
nuttycom Dec 18, 2024
e8b0477
Implement `no_std` support via a default-enabled `std` feature flag.
nuttycom Dec 18, 2024
f1e3d3b
Apply suggestions from code review
nuttycom Dec 19, 2024
87e5ddf
Merge pull request #151 from zcash/no_std
str4d Dec 19, 2024
469b786
Update patched `redjubjub` dependency.
nuttycom Jan 28, 2025
53566ae
Re-expose the `ProverProgress` type outside of the `circuit` feature.
nuttycom Jan 28, 2025
befbf95
Bump MSRV to 1.70
nuttycom Jan 29, 2025
a3cb90a
Remove unused type parameterization (fix Clippy lint)
nuttycom Jan 29, 2025
e607c52
Merge pull request #152 from zcash/expose_prover_progress
nuttycom Jan 29, 2025
d78c877
Update to `incrementalmerkletree 0.8.1`
nuttycom Jan 28, 2025
793e090
Fix clippy beta lints
nuttycom Jan 30, 2025
6ca3385
Merge pull request #154 from nuttycom/incrementalmerkletree_0.8
nuttycom Jan 30, 2025
3b6c60a
Upgrade to redjubjub 0.8.0
nuttycom Feb 19, 2025
b011854
Merge pull request #156 from zcash/upgrade_redjubjub
nuttycom Feb 19, 2025
5c1462e
Update to zcash_spec 0.2 and zip32 0.2 releases.
nuttycom Feb 20, 2025
f354529
Merge pull request #157 from zcash/update_zip32
str4d Feb 20, 2025
7979a71
Remove the network-specific 0xf6 convention for empty memos
nuttycom Dec 13, 2023
fcc61c7
Merge pull request #158 from zcash/memo_defaults
nuttycom Feb 21, 2025
4ac190d
Release sapling-crypto version 0.5.0
nuttycom Feb 21, 2025
6a8282b
Merge pull request #159 from zcash/release/v0.5.0
nuttycom Feb 21, 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
30 changes: 27 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,12 +41,36 @@ jobs:
matrix:
target:
- wasm32-wasi
- thumbv7em-none-eabihf
steps:
- uses: actions/checkout@v4
with:
path: crate_root
# We use a synthetic crate to ensure no dev-dependencies are enabled, which can
# be incompatible with some of these targets.
- name: Create synthetic crate for testing
run: cargo init --lib ci-build
- name: Copy Rust version into synthetic crate
run: cp crate_root/rust-toolchain.toml ci-build/
- name: Copy patch directives into synthetic crate
run: |
echo "[patch.crates-io]" >> ./ci-build/Cargo.toml
cat ./crate_root/Cargo.toml | sed "0,/.\+\(patch.crates.\+\)/d" >> ./ci-build/Cargo.toml
- name: Add no_std pragma to lib.rs
run: |
echo "#![no_std]" > ./ci-build/src/lib.rs
- name: Add sapling-crypto as a dependency of the synthetic crate
working-directory: ./ci-build
run: cargo add --no-default-features --path ../crate_root
- name: Add lazy_static with the spin_no_std feature
working-directory: ./ci-build
run: cargo add lazy_static --features "spin_no_std"
- name: Add target
working-directory: ./ci-build
run: rustup target add ${{ matrix.target }}
- name: Build crate
run: cargo build --no-default-features --verbose --target ${{ matrix.target }}
- name: Build for target
working-directory: ./ci-build
run: cargo build --verbose --target ${{ matrix.target }}

bitrot:
name: Bitrot check
Expand All @@ -63,7 +87,7 @@ jobs:
steps:
- uses: actions/checkout@v4
- name: Run Clippy
uses: auguwu/clippy-action@1.3.0
uses: auguwu/clippy-action@1.4.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
working-directory: ${{ inputs.target }}
Expand Down
65 changes: 62 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,65 @@ and this library adheres to Rust's notion of

## [Unreleased]

## [0.5.0] - 2025-02-20

### Added
- `sapling_crypto::pczt::Zip32Derivation::extract_account_index`
- `no_std` compatibility has been introduced by means of a default-enabled
`std` feature flag.
- A default-enabled `circuit` feature is now provided to enable downstream
users to avoid the need to depend upon the `bellman` crate.

### Changed
- MSRV is now 1.70
- Updated to `incrementalmerkletree 0.8.1`, `redjubjub 0.8`, `zcash_spec 0.2`,
`zip32 0.2`
- `sapling_crypto::builder::SaplingBuilder::add_output` now takes `[u8; 512]`
for its `memo` argument instead of an optional value.

## [0.4.0] - 2024-12-16

### Added
- Support for Partially-Created Zcash Transactions:
- `sapling_crypto::builder::Builder::build_for_pczt`
- `sapling_crypto::pczt` module.
- `sapling_crypto::bundle::EffectsOnly`
- `sapling_crypto::keys`:
- `SpendAuthorizingKey::to_bytes`
- `SpendValidatingKey::to_bytes`
- `sapling_crypto::value::ValueSum::to_raw`
- `sapling_crypto::zip32::DiversifiableFullViewingKey::to_internal_fvk`

### Fixed
- `sapling_crypto::prover::OutputProver::prepare_circuit` now takes `esk` as an
`sapling_crypto::keys::EphemeralSecretKey`, matching the existing public APIs
that expose it.

### Changed
- `sapling_crypto::builder`:
- `SpendInfo::new` now takes a `FullViewingKey` instead of a
`ProofGenerationKey`.
- `Builder::add_spend` now takes a `FullViewingKey` instead of an
`&ExtendedSpendingKey`.
- `Builder::build` and `bundle` now take an `&[ExtendedSpendingKey]` argument.
- `Error` has new variants:
- `MissingSpendingKey`
- `PcztRequiresZip212`
- `WrongSpendingKey`
- `sapling_crypto::bundle::SpendDescriptionV5::into_spend_description` now
supports any `Authorization` for which the `SpendDescription` itself is fully
authorized.

## [0.3.0] - 2024-10-02

### Changed
- Updated to `incrementalmerkletree` version `0.7`.

## [0.2.0] - 2024-08-12

### Changed
- Updated to `incrementalmerkletree` version `0.6`.

## [0.1.3] - 2024-03-25

### Added
Expand Down Expand Up @@ -121,7 +180,7 @@ The entries below are relative to the `zcash_primitives::sapling` module as of
- `Builder::new` now takes a `Zip212Enforcement` argument instead of a
`P: zcash_primitives::consensus::Parameters` argument and a target height.
It also now takes as an argument the Sapling anchor to be used for all
spends in the bundle.
spends in the bundle.
- `Builder::add_spend` now takes `extsk` by reference. Also, it no
longer takes a `diversifier` argument as the diversifier may be obtained
from the note. All calls to `add_spend` are now required to use an anchor
Expand All @@ -144,8 +203,8 @@ The entries below are relative to the `zcash_primitives::sapling` module as of
- `Bundle` now has a second generic parameter `V`.
- `Bundle::value_balance` now returns `&V` instead of
`&zcash_primitives::transaction::components::Amount`.
- `Bundle::map_authorization` now takes a context argument and explicit
functions for each mappable field, rather than a `MapAuth` value, in
- `Bundle::map_authorization` now takes a context argument and explicit
functions for each mappable field, rather than a `MapAuth` value, in
order to simplify handling of context values.
- `Authorized::binding_sig` now has type `redjubjub::Signature<Binding>`.
- `Authorized::AuthSig` now has type `redjubjub::Signature<SpendAuth>`.
Expand Down
91 changes: 61 additions & 30 deletions Cargo.lock

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

Loading
Loading