Skip to content

Commit

Permalink
v0.1.13 release (#91)
Browse files Browse the repository at this point in the history
* rm depend/zcash

* Squashed 'depend/zcash/' content from commit 00c2a2434

git-subtree-dir: depend/zcash
git-subtree-split: 00c2a2434e655d275c26986c8751793f4c98bb01

* rm depends/zcash/Cargo.toml

* updates Cargo.toml

* Updates Changelog

* add tl_expected.hpp

* Fix build

* add test-dependencies features to ecc deps

* add missing .c files from secp256k1

* chore: Release zcash_script version 0.1.13

---------

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
  • Loading branch information
arya2 and conradoplg committed Jul 7, 2023
1 parent 62c8394 commit b900ff4
Show file tree
Hide file tree
Showing 326 changed files with 42,654 additions and 8,345 deletions.
11 changes: 9 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased] - ReleaseDate

## [0.1.12] - 2023-05-07
## [0.1.13] - 2023-07-05

## [0.1.13] - 2023-06-29

### Changed
- Update `depend/zcash` to version 5.6.1 which includes updated dependencies
- Update other dependencies to match Zebra

## [0.1.12] - 2023-05-03

Expand Down Expand Up @@ -83,7 +89,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Updated `bindgen` to a non yanked version

<!-- next-url -->
[Unreleased]: https://github.com/ZcashFoundation/zcash_script/compare/v0.1.12...HEAD
[Unreleased]: https://github.com/ZcashFoundation/zcash_script/compare/v0.1.13...HEAD
[0.1.13]: https://github.com/ZcashFoundation/zcash_script/compare/v0.1.12...v0.1.13
[0.1.12]: https://github.com/ZcashFoundation/zcash_script/compare/v0.1.11...v0.1.12
[0.1.11]: https://github.com/ZcashFoundation/zcash_script/compare/v0.1.10...v0.1.11
[0.1.10]: https://github.com/ZcashFoundation/zcash_script/compare/v0.1.9...v0.1.10
Expand Down
23 changes: 14 additions & 9 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "zcash_script"
version = "0.1.12"
version = "0.1.13"
authors = ["Tamas Blummer <tamas.blummer@gmail.com>", "Zcash Foundation <zebra@zfnd.org>"]
license = "Apache-2.0"
readme = "README.md"
Expand Down Expand Up @@ -38,6 +38,7 @@ include = [
"/depend/zcash/src/support/cleanse.cpp",
"/depend/zcash/src/support/cleanse.h",
"/depend/zcash/src/rust/gen/",
"/depend/expected/include/",
]

[lib]
Expand All @@ -55,23 +56,25 @@ blake2b_simd = "1"
bls12_381 = "0.8"
byteorder = "1"
crossbeam-channel = "0.5"
cxx = { version = "=1.0.94", features = ["c++17"] }
cxx = { version = "=1.0.95", features = ["c++17"] }
group = "0.13"
incrementalmerkletree = "0.3"
incrementalmerkletree = "0.4"
jubjub = "0.10"
libc = "0.2"
memuse = "0.2"
metrics = "0.20"
orchard = "0.4"
metrics = "0.21"
orchard = "0.5"
rand_core = "0.6"
rayon = "1.5"
subtle = "2.2"
tracing = "0.1"
zcash_address = "0.2"
zcash_address = "0.3"
zcash_encoding = "0.2"
zcash_note_encryption = "0.3"
zcash_primitives = { version = "0.11", features = ["temporary-zcashd", "transparent-inputs"] }
zcash_proofs = "0.11"
zcash_note_encryption = "0.4"
zcash_primitives = { version = "0.12", features = ["temporary-zcashd", "transparent-inputs"] }
zcash_proofs = "0.12"
bridgetree = "0.3"
rand = "0.8"

[build-dependencies]
# The `bindgen` dependency should automatically upgrade to match the version used by zebra-state's `rocksdb` dependency in:
Expand All @@ -95,6 +98,8 @@ syn = { version = "1.0.109", features = ["full", "printing"] }
# Treat minor versions with a zero major version as compatible (cargo doesn't by default).
hex = ">= 0.4.3"
lazy_static = "1.4.0"
incrementalmerkletree = { version = "0.4", features = ["test-dependencies"] }
zcash_primitives = { version = "0.12", features = ["temporary-zcashd", "transparent-inputs", "test-dependencies"] }

[[package.metadata.release.pre-release-replacements]]
file = "CHANGELOG.md"
Expand Down
29 changes: 25 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,17 +22,18 @@ to include a lot of other stuff e.g. the orchard library.

### Updating this crate


1. Create a new branch batch so all the release commits can be made into a PR
2. Update `depend/zcash` with the latest tagged version of `zcashd`, using the instructions below
3. Update `Cargo.toml` versions to match the versions used by the latest tagged version of `zcashd`, and its dependencies
4. For dependencies that are shared with Zebra (but not `zcashd`), match the latest version in Zebra's [Cargo.lock](https://github.com/ZcashFoundation/zebra/blob/main/Cargo.lock):
- use `cargo tree --invert <crate>` to see if the crate is from `zcash_script` or another dependency
- see the list in [Cargo.toml](https://github.com/ZcashFoundation/zcash_script/blob/master/Cargo.toml#L69)
5. For new dependencies with a leading zero in their version (`0.x.y`), use a `>=` dependency [to make them automatically upgrade to match Zebra's dependencies](https://doc.rust-lang.org/cargo/reference/resolver.html#semver-compatibility)
6. Check all open PRs to see if they can be merged before the release
7. Do the release, following the instructions below
8. Check the release tag was pushed to https://github.com/ZcashFoundation/zcash_script/tags
6. Test if everything works by running `cargo test`. If you get any compiling errors, see
the troubleshooting section below.
7. Check all open PRs to see if they can be merged before the release
8. Do the release, following the instructions below
9. Check the release tag was pushed to https://github.com/ZcashFoundation/zcash_script/tags

### Updating `depend/zcash`

Expand Down Expand Up @@ -85,3 +86,23 @@ Releases for `zcash-script` are made with the help of [cargo release](https://gi
4. Publish a new release using `cargo release --execute <level>`

**NOTE**: It's important to specify the level when using cargo release because of the way it implements the substitutions. We specify a number of automatic substitutions in `Cargo.toml` but they will only be applied if `cargo release` also handles incrementing the version itself, **do not increment the version by hand and then run `cargo release` or `cargo release -- release`, or it will not correctly update all version references in the codebase.**


### Troubleshooting

#### "undefined reference to `name`"

This likely means that a `.c` file is not being included in `build.rs`.
Search for `name` in the zcashd source tree to find which file contains it,
and add it to a `file()` call inside `build.rs`.

#### "fatal error: `file`: No such file or directory"

This likely means that a `.h` file is not being found.
Seach for a file with the given name and add its folder to a `.include()`
call in `build.rs`. If the file does not exist there it's likely from
a 3rd-party dependency that is downloaded at build time. Search for
the file name on some search engine to attempt to find what project
it belongs to, cross-referencing the `depends/packages` folder
in `zcashd`. Then you may need to copy those files to a folder
inside `zcash_script` like we did in `depend/expected`.
3 changes: 3 additions & 0 deletions build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ fn main() -> Result<()> {
.include("depend/zcash/src/")
.include("depend/zcash/src/rust/include/")
.include("depend/zcash/src/secp256k1/include/")
.include("depend/expected/include/")
.include(&gen_path.join("include"))
.flag_if_supported("-Wno-implicit-fallthrough")
.flag_if_supported("-Wno-catch-value")
Expand Down Expand Up @@ -226,6 +227,8 @@ fn build_secp256k1() {

build
.file("depend/zcash/src/secp256k1/src/secp256k1.c")
.file("depend/zcash/src/secp256k1/src/precomputed_ecmult.c")
.file("depend/zcash/src/secp256k1/src/precomputed_ecmult_gen.c")
.compile("libsecp256k1.a");
}

Expand Down
Loading

0 comments on commit b900ff4

Please sign in to comment.