Commit Graph

158 Commits

Author SHA1 Message Date
Conrado Gouvea 09705c3b32 bump to 0.3.0; attempt at using release-plz 2025-05-12 21:18:06 -03:00
Greg Pfeil d3e242b47f
Eliminate `ScriptNum` (#208)
* Move `set_vch` to simplify later diffs

This makes no changes other than swapping the positions of the `set_vch`
and `serialize` operations on `ScriptNum`.

* Extract integer ↔︎ `Vec<u8>` `fn`s from `ScriptNum`

__NB__: I recommend ignoring whitespace when reviewing this commit.

`ScriptNum` was used one of three ways:
1. convert a Rust integer to a stack value
2. load a stack value into Rust
3. do arithmetic on stack values

Combining these into one interface added extra complexity. For example,
`getint()` would clamp the value to `i32` range, but that range could
only be violated if arithmetic was performed on `ScriptNum`s, and
`getint` was never used on the result of arithmetic.

This extracts `parse_num` and `serialize_num` changing the three
patterns as follows:
1. `ScriptNum::from(_).getvch()` is now `serialize_num(_)`, and
2. `ScriptNum::new(_).and_then(getint())` is now `parse_num(_)`,
3. `ScriptNum::new(_)` … `getvch()` remains the same.

* Make `ScriptNum` a process

We never held a `ScriptNum` – we create one from the stack, perform an
operation, and serialize the result. This eliminates the type in favor
of operations that take a closure on `i64`s.

The operations that exist can’t possibly hit the various bounds that
were checked on `ScriptNum` operations, so they were removed.

As part of the above work, this introduces `cast_from_bool`, which is
then used to replace all instances of `VCH_TRUE`/`FALSE`.
2025-04-30 18:12:50 -03:00
Greg Pfeil cc157ffdce
Add various stepwise functionality (#204)
* Move some constants in preparation

This makes some minor changes to constants to facilitate splitting out a
stepwise interpreter.

* Extract a step function from the interpreter

This is generally useful for testing, but specifically, we want to be
able to run this side-by-side with the C++ interpreter, and check that
every bit of our state matches along the way.

This change is as minimal as possible, to avoid divergence until after
it can be compared against C++. E.g., the massive `match opcode {…}`
block that has been moved should only change the dereferencing of
`op_count`.

* Add a `State` struct to make stepping easier

* Expose step interpreter

* Add a stepwise comparison interpreter

The C++ changes aren’t in place yet, so this is currently just an A/A test.

This changes our closures into structs containing a function, because
that’s how we can pass around functions with universally-quantified
lifetimes.

* Make interpreters more flexible

Previously the `ZcashScript` impls didn’t use `self`, so the types were
just tags. However, with the new `StepwiseInterpreter`, they need
`self`.

This also removes `RustInterpreter` in favor of a `rust_interpreter`
function that instantiates an appropriate `StepwiseInterpreter`.

* Add a function for C++/Rust comparison interpreter

* Fix fuzzer

* Clean up `use` in lib.rs

* Fix weird indentation

* Make various fields non-`pub`

* Add a `new` constructor for `Stack`

* Remove incorrect comment

* Appease Clippy

Adds `Default` impls for `Stack` and `State`.

* Rename `State::manual` to `State::from_parts`
2025-04-10 18:03:29 -03:00
Greg Pfeil 2afc474338
Addressing post-hoc PR feedback on #174 (#197)
* Add ECC & myself (Greg Pfeil) as authors

* Have the Rust impl correctly report “high s” sigs

There is a bug in the C++ side where the error is not set correctly on a
“high s” signature. The Rust side had mirrored this bug, but this
eliminates the bug in the Rust.

* Remove extra byte from sig before low-s check

This doesn’t seem to have any effect on the semantics, as the DER-formatted signature includes
lengths that ensure it will ignore extra bytes, but the C++ code removes the extra byte, so the Rust
should as well.

* Change some comments

Co-authored-by: Daira-Emma Hopwood <daira@electriccoin.co>

* Appease `rustfmt`

* Have OP_DUP match the C++ impl more closely

* Address the second half of @daira’s #174 review

* Eliminate mutation from `Opcode` parsing

This now splits slices and returns the remaining pieces rather than
modifying the arguments.

* Remove obsolete comment

* Address PR comments

* Address additional comments on #174

---------

Co-authored-by: Daira-Emma Hopwood <daira@electriccoin.co>
2025-02-25 13:49:54 -03:00
Greg Pfeil 228ec8b4f7
Expose `ScriptError` on C++ side (#195)
**This changes the C++ implementation.**

Provides richer errors, which also gives more precision when comparing
against the Rust impl.

This also removes the (now unused) `zcash_script_error_t`. The only case
other than `zcash_script_ERR_OK` that was still in use was
`zcash_script_ERR_VERIFY_SCRIPT`, so that case has been added to
`ScriptError`.

This avoids changing the Rust API, but potentially `Error` and
`ScriptError` on the Rust side could be collapsed into one `enum`. It
would just be a breaking change.
2025-02-11 11:22:52 -03:00
dependabot[bot] 981dac81d6
Bump cc from 1.2.10 to 1.2.11 (#196)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.2.10 to 1.2.11.
- [Release notes](https://github.com/rust-lang/cc-rs/releases)
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.10...cc-v1.2.11)

---
updated-dependencies:
- dependency-name: cc
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-04 11:11:42 -03:00
dependabot[bot] 10489af5f4
Bump tracing from 0.1.40 to 0.1.41 (#193)
Bumps [tracing](https://github.com/tokio-rs/tracing) from 0.1.40 to 0.1.41.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.40...tracing-0.1.41)

---
updated-dependencies:
- dependency-name: tracing
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-04 11:09:53 -03:00
dependabot[bot] 2ec9b8d94d
Bump proptest from 0.9.6 to 1.6.0 (#192)
Bumps [proptest](https://github.com/proptest-rs/proptest) from 0.9.6 to 1.6.0.
- [Release notes](https://github.com/proptest-rs/proptest/releases)
- [Changelog](https://github.com/proptest-rs/proptest/blob/main/CHANGELOG.md)
- [Commits](https://github.com/proptest-rs/proptest/compare/0.9.6...v1.6.0)

---
updated-dependencies:
- dependency-name: proptest
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-04 11:09:18 -03:00
dependabot[bot] 274a8a8e9f
Bump libfuzzer-sys from 0.4.8 to 0.4.9 (#194)
Bumps [libfuzzer-sys](https://github.com/rust-fuzz/libfuzzer) from 0.4.8 to 0.4.9.
- [Changelog](https://github.com/rust-fuzz/libfuzzer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-fuzz/libfuzzer/compare/0.4.8...0.4.9)

---
updated-dependencies:
- dependency-name: libfuzzer-sys
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-03 19:58:39 -03:00
dependabot[bot] 35e19f95e2
Bump secp256k1 from 0.29.0 to 0.30.0 (#191)
Bumps [secp256k1](https://github.com/rust-bitcoin/rust-secp256k1) from 0.29.0 to 0.30.0.
- [Changelog](https://github.com/rust-bitcoin/rust-secp256k1/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-bitcoin/rust-secp256k1/compare/secp256k1-0.29.0...secp256k1-0.30.0)

---
updated-dependencies:
- dependency-name: secp256k1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-03 19:55:48 -03:00
Greg Pfeil 61f3ef3e74
Change type of `lock_time` parameter (#190)
* Change type of `lock_time` parameter

This is a breaking change. Lock times are stored in tx as `u32`, but
this API expected `i64`, forcing conversions on the caller. This change
brings the API into alignment with the tx representation.

* Update the `lock_time` type in the fuzz test
2025-01-30 10:54:32 -03:00
dependabot[bot] 4be3521814
Bump cc from 1.1.10 to 1.2.10 (#189)
Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.1.10 to 1.2.10.
- [Release notes](https://github.com/rust-lang/cc-rs/releases)
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/cc-rs/compare/cc-v1.1.10...cc-v1.2.10)

---
updated-dependencies:
- dependency-name: cc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-29 20:03:38 -03:00
dependabot[bot] 4b55ca684b
Bump bitflags from 2.6.0 to 2.8.0 (#185)
Bumps [bitflags](https://github.com/bitflags/bitflags) from 2.6.0 to 2.8.0.
- [Release notes](https://github.com/bitflags/bitflags/releases)
- [Changelog](https://github.com/bitflags/bitflags/blob/main/CHANGELOG.md)
- [Commits](https://github.com/bitflags/bitflags/compare/2.6.0...2.8.0)

---
updated-dependencies:
- dependency-name: bitflags
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-29 19:45:47 -03:00
Dimitris Apostolou c21f1cbaee
Fix RUSTSEC-2024-0006 (#183) 2025-01-29 19:34:25 -03:00
Dimitris Apostolou 376fada843
Fix clippy warnings (#188) 2025-01-29 19:33:31 -03:00
Greg Pfeil 335ae9a2a6
Initial Rust implementation (#174)
* [DRAFT]

* Rearrange Rust impl to match C++ more closely

The only changes here other than moving chunks of code around are
- moving `evaluate` out of `impl Script`, which required changing
 `&self` to `script: &Script`; and
- unifying `ExecutionOptions` with `VerificationFlags`.

* Rename Rust identifiers to match C++

For easier side-by-side comparison.

* Connected the new API, but fails

* Existing unit tests succeed

* The rest of the owl

* Reverting to C++ style, and some other changes

* Appease Clippy

* Replace `ScriptNum` panics with error case

The C++ impl uses exceptions for `ScriptNum`, but catches them.

* Add some shallow property tests

These tests run both the C++ and Rust impls. One uses completely
arbitrary inputs, and the other limits script_sig to data pushes.

* Add shallow fuzz testing

* Preserve richer errors on the Rust side

For now, the underlying errors are discarded when comparing against the
C++ results, but there are corresponding changes on the C++ side in a
separate branch.

* Address @nuttycom’s review comments

- remove `uint256` module
- create a specific type for the C++/Rust comparison implementation
- rename some identifiers
- rephrase some comments

* Some changes to ease zebrad integration

- Switch from `log` to `tracing` for `warn!`,
- Export `SignedOutputs`, which is needed to create a `HashType`, and
- Upgrade zcash_primitives to the same version used by zebrad.

* Appease Clippy

* Remove dependency on zcash_primitives

This was only needed for the `TxVersion` enum. However, the `StrictEnc`
flag is a proxy for the v5 tx requirements, so instead of checking the
`TxVersion` explicitly, we expect callers to include `StrictEnc` for
verification of v5 transactions.

* Moving testing dependencies

libfuzzer-sys is Linux-specific, and it & proptest are only used for tests.

* Normalize Rust errors in comparison interpreter

This was a minor oversight, but this correction should only eliminate
false mismatches.

* Address @nuttycom’s PR feedback

* Eliminate a `panic!`

This `panic!` appears to be unreachable in the current implementation, but there is no need for it.
It doesn’t introduce any new failure cases.

Thanks to @conradoplg for noticing it.

* Use (`Try`)`From` for `ScriptNum` conversions

This also makes the `ScriptNum` field private so that `bn.0` can’t
extract the unconstrained `i64` value.

* Remove some `From` instances that do too much

* Subtract from `OP_RESERVED` instead of `OP_1 - 1`

`OP_RESERVED` is in the ‘0’ offset position of the `OP_n` opcodes. Just
use this even though it isn’t obviously a number to improve readability.

---------

Co-authored-by: Sean Bowe <ewillbefull@gmail.com>
Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
2025-01-29 19:31:52 -03:00
Conrado Gouvea 4edd9009a2
Bump bindgen 0.71.1 (#187)
* Bump bindgen from 0.69.4 to 0.71.1

Bumps [bindgen](https://github.com/rust-lang/rust-bindgen) from 0.69.4 to 0.71.1.
- [Release notes](https://github.com/rust-lang/rust-bindgen/releases)
- [Changelog](https://github.com/rust-lang/rust-bindgen/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/rust-bindgen/compare/v0.69.4...v0.71.1)

---
updated-dependencies:
- dependency-name: bindgen
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* update proc-macro2 in Cargo.lock

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-23 19:11:15 -03:00
Conrado Gouvea 38cc608560
Bump cc 1.1.10 (#186)
* Bump cc from 1.0.95 to 1.1.10

Bumps [cc](https://github.com/rust-lang/cc-rs) from 1.0.95 to 1.1.10.
- [Release notes](https://github.com/rust-lang/cc-rs/releases)
- [Changelog](https://github.com/rust-lang/cc-rs/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/cc-rs/compare/1.0.95...cc-v1.1.10)

---
updated-dependencies:
- dependency-name: cc
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix clippy issue

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-23 19:11:03 -03:00
dependabot[bot] a9bfcd5da2
Bump libc from 0.2.159 to 0.2.168 (#181)
Bumps [libc](https://github.com/rust-lang/libc) from 0.2.159 to 0.2.168.
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.168/CHANGELOG.md)
- [Commits](https://github.com/rust-lang/libc/compare/0.2.159...0.2.168)

---
updated-dependencies:
- dependency-name: libc
  dependency-type: indirect
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07 14:23:05 -03:00
dependabot[bot] 18af6894fd
Bump EmbarkStudios/cargo-deny-action from 1 to 2 (#180)
Bumps [EmbarkStudios/cargo-deny-action](https://github.com/embarkstudios/cargo-deny-action) from 1 to 2.
- [Release notes](https://github.com/embarkstudios/cargo-deny-action/releases)
- [Commits](https://github.com/embarkstudios/cargo-deny-action/compare/v1...v2)

---
updated-dependencies:
- dependency-name: EmbarkStudios/cargo-deny-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07 14:22:33 -03:00
dependabot[bot] 116dc00a7f
Bump lazy_static from 1.4.0 to 1.5.0 (#163)
Bumps [lazy_static](https://github.com/rust-lang-nursery/lazy-static.rs) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/rust-lang-nursery/lazy-static.rs/releases)
- [Commits](https://github.com/rust-lang-nursery/lazy-static.rs/compare/1.4.0...1.5.0)

---
updated-dependencies:
- dependency-name: lazy_static
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-07 14:21:54 -03:00
Greg Pfeil 7bcfb7729b
Add a basic rust-toolchain.toml (#176)
* Add a basic rust-toolchain.toml

Matches the one in Zebra, although I think pinning to a specific release
(e.g., `channel = "1.82"`) would help with consistency, perhaps avoiding
issues like
https://github.com/ZcashFoundation/zcash_script/pull/174#issuecomment-2445336306

* Remove redundant toolchain info from GH workflow

[actions-rs/toolchain doesn’t support TOML-formatted
rust-toolchain files](actions-rs/toolchain#126), but it’s unnecessary anyway.

- actions-rs/cargo will pick up the rust-toolchain.toml, so we usually
  don’t need to mention the toolchain at all;
- the Windows build just runs `rustup target add x86_64-pc-windows-msvc`
  directly; and
- where we want to build with multiple toolchains (in a matrix), there
  are some slightly-awkward conditionals.

This also makes some other changes:

- `fail-fast` is disabled because it hides useful & distinct build
  results; and
-  `rustup component add` for clippy and rustfmt are removed because
  they’re in the rust-toolchain.toml toolchain, and we want to make sure
  they are, so that they’re available to developers.

* Pin rustup channel to "1.81"

Newer versions until 1.85 (current nightly) have some breakage wrt C++
linking.

* Have bindgen target correct rustc version

It should match the version in rust-toolchain.toml. Unfortunately, it’s
not possible to reference that directly, so this adds comments to remind
contributors to update them together.
2024-12-16 10:47:41 +01:00
Greg Pfeil a429b3f8d3
Address Str4d’s comments on #171 (#175)
* Address Str4d’s comments on #171

Notably, `HashType` has changed incompatibly, so
ZcashFoundation/zebra#8751 will need to be updated.

* Apply suggestions from code review

Co-authored-by: Jack Grigg <thestr4d@gmail.com>

* Restrict bitflags used for `HashType` in v5 tx

---------

Co-authored-by: Jack Grigg <thestr4d@gmail.com>
2024-10-24 19:24:40 -03:00
Greg Pfeil 9d16e79c72
Provide a Rustier wrapper for zcash_script (#171)
* Move C++ bindings out of lib.rs

Have lib.rs re-export them, but make room for the upcoming Rust implementation.

* Provide a Rustier wrapper for zcash_script

This adds a `Script` trait that exposes slightly Rustier types in order
to have a common interface for the existing C++ implementation as well
as the upcoming Rust implementation (and a third instance that runs both
and checks that the Rust result matches the C++ one).

The module structure (interpreter.rs, zcash_script.rs) and locations of
definitions are intended to mirror the structure of the C++ code, especially as
we get the Rust implementation in place, for easier comparison. That
organization is very likely to change once everything has been checked.

* Address review feedback

Thanks to @nuttycom and @arya2 for getting the closure to work.

* Additional cleanup

* Use `try_from`/`_into` instead of `as`

* Address review feedback

* Widen the `Unknown` error type

This should fix the Windows build.
2024-09-17 16:11:32 -03:00
Conrado Gouvea c9d750743f
update documentation for release 0.2.0 (#161) 2024-06-10 17:17:54 +02:00
Conrado Gouvea 4924030059
Remove dependencies by switching to simplified API with a callback interface (#157)
* created zcash_script_verify_prehashed; compiles

* removed unneded code; callback API

* revert formatting changes to interpreter.cpp/.h

* remove prehashed code

* moving code around

* use #if 0 instead of commenting out to make diff clearer

* tmp

* remove debug prints

* cleanups

* deleted unneeded rust files

* remove unneeded dependencies

* remove more unneeded files

* add new tests and remove old ones

* remove unneded params; add sighashLen to callback

* remove unneeded code

* msvc fixes
2024-06-04 23:52:11 +02:00
Alfredo Garcia ef2a7fdd5d
cargo release execute output for v0.16 (#149)
* chore: Release zcash_script version 0.1.16

* fix the date
2024-04-26 09:45:10 -03:00
Alfredo Garcia 06de015788
Bump v0.1.16 (#147)
* remove zcashd depend

* Squashed 'depend/zcash/' content from commit 1408e23f0

git-subtree-dir: depend/zcash
git-subtree-split: 1408e23f00fa49ca5f86d2c7ebeb5d120603aa4c

* delete cargo, update and apply patch

* update dependencies

* fix compiling issue by updating lib.rs

* update `cc`

* update `cxx-gen`

* add changeloig entry

---------

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
2024-04-26 11:51:51 +02:00
Alfredo Garcia faed93224e
Bump the release v0.1.15 (#146)
* chore: Release zcash_script version 0.1.15

* update date
2024-04-19 11:48:41 -03:00
Alfredo Garcia 084da225db
Release v0.1.15 (#141)
* remove current zcash

* Squashed 'depend/zcash/' content from commit 889162ccf

git-subtree-dir: depend/zcash
git-subtree-split: 889162ccf3e0c2de4fda7aceec35dc3769c19131

* apply patch

* update dependencies
2024-04-17 15:41:59 -03:00
Conrado Gouvea cf9e0d26cf
Restore Windows support with MSVC (#108)
* switch to MSVC, fixes to support it

* fix linking errors

* document how to patch zcash source

* update hash due to nightly breakage; don't use deprecated bindgen function

* update patch with str4d's upstream suggestion

---------

Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2024-04-11 07:56:54 -03:00
Alfredo Garcia 6c2eb13d9f
Create the v0.1.14 release - 2nd attempt (#110)
* update the changelog

* chore: Release zcash_script version 0.1.14

* remove duplicated
2023-10-18 15:39:20 -03:00
dependabot[bot] 4f678c97f5
Bump cxx-gen from 0.7.107 to 0.7.109 (#105)
Bumps [cxx-gen](https://github.com/dtolnay/cxx) from 0.7.107 to 0.7.109.
- [Release notes](https://github.com/dtolnay/cxx/releases)
- [Commits](https://github.com/dtolnay/cxx/commits)

---
updated-dependencies:
- dependency-name: cxx-gen
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Alfredo Garcia <oxarbitrage@gmail.com>
2023-10-17 17:29:05 -03:00
Alfredo Garcia 3fdf588c23
v0.1.14 release (#102)
* rm zcash

* Squashed 'depend/zcash/' content from commit e08571476

git-subtree-dir: depend/zcash
git-subtree-split: e08571476d8a59d0a624da7b118ab8d8ad2a6246

* delete zcash/Cargo.toml

* update versions

* update build

* make sapling.rs work by renaming it and copying it to OUT_DIR

* cargo fmt

---------

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
2023-10-17 16:03:37 -03:00
Alfredo Garcia 36de9309bf
Allow clippy lint (#103)
* allow clippy lint

* Revert "allow clippy lint"

This reverts commit 6744ff1ca4.

* move allow clippy rule to lib.rs

---------

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
2023-10-17 09:26:34 -03:00
Alfredo Garcia 4b8643723a
Add Cargo.lock to the project (#96) 2023-09-18 10:51:36 +10:00
dependabot[bot] 5541e58d34
Bump actions/checkout from 3 to 4 (#92)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-05 12:02:38 -03:00
Arya b900ff4261
v0.1.13 release (#91)
* 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>
2023-07-07 14:06:27 -04:00
teor 62c83941ed Remove duplicate release instructions 2023-05-08 17:26:23 -04:00
teor 258900639b (cargo-release) version 0.1.12 2023-05-08 07:16:28 +10:00
teor 5cfaef7bbd
Upgrade zcash_script to zcashd v5.5.0 (#84)
* Update dependencies to match zcashd v5.5.0

* Update dependencies to match Zebra main branch

* Update release instructions

* Add module docs for the build script to avoid warnings

* Update bridge file list to match the latest zcashd

* Ignore some emacs temporary files

* Standardise directory include paths in Cargo.toml

* Add extra info to cxx_gen errors

* Add additional Rust dependencies needed to compile

* Ignore some expected clippy lints

* Silence a C compiler macro redefinition warning

* Standardise directory paths in build.rs

* fix cxxbridge code generation

* Update Cargo.lock

* Use include!() for bridge.rs

* Add a changelog entry for the next release

* Fix a warning by adding docs for the crate

* Remove previous depend/zcash

* Squashed 'depend/zcash/' content from commit eb80047476

git-subtree-dir: depend/zcash
git-subtree-split: eb80047476e9c0db3524f647d412faf8d4a584ee

* Update depend/zcash to v5.5.0

```sh
git subtree add -P depend/zcash https://github.com/zcash/zcash.git v5.5.0 --squash
git rm depend/zcash/Cargo.toml
```

---------

Co-authored-by: Conrado Gouvea <conradoplg@gmail.com>
2023-05-05 09:55:41 -03:00
dependabot[bot] 27f9e77549
Bump actions/checkout from 1 to 3 (#44)
Bumps [actions/checkout](https://github.com/actions/checkout) from 1 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v1...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-17 10:15:13 +10:00
teor b7ec9532e7
Add CI passing and PR review to the release instructions (#70) 2023-04-17 10:14:37 +10:00
Arya ed7b95b6da
v0.1.11 release (#69)
* Updates changelog

* chore: Release zcash_script version 0.1.11

* Apply suggestions from code review

Co-authored-by: teor <teor@riseup.net>

---------

Co-authored-by: teor <teor@riseup.net>
2023-02-23 19:24:18 -05:00
teor 5cbddbdac8
Update dependencies to match Zebra (#67) 2023-02-24 10:05:55 +10:00
teor 2b2c666c04
Add extra dependency update steps to the README (#63)
* Add extra dependency update steps to the README

* Use correct dependency steps from Cargo.toml

* Explain how to make new dependencies work

* Simplify instructions

* Add "check all open PRs before releasing"

* Add "run cargo-release" to the release instructions

Co-authored-by: Arya <aryasolhi@gmail.com>

---------

Co-authored-by: Arya <aryasolhi@gmail.com>
2023-02-24 09:08:01 +10:00
teor fb997ccf3f
Check if we still need the rustc_serialize dependency (#68) 2023-02-24 09:07:06 +10:00
teor e04ad0fd88
Upgrade to Rust 2021 edition (#64) 2023-02-24 07:55:45 +10:00
teor 07a39e32e6
Make dependencies automatically upgrade to match Zebra dependency versions (#66) 2023-02-24 07:47:27 +10:00
Arya 96a9b9026c
chore: Release zcash_script version 0.1.9 (cargo-release) (#62) 2023-02-23 16:08:17 -05:00