Deirdre Connolly
7efc700aca
Merge pull request #1713 from ZcashFoundation/use-groth16-batch-math
...
Use batch optimizations, load params in groth16::Verifier, verify Spend & Output descriptions in transaction verifier
2021-03-24 12:28:25 -04:00
Deirdre Connolly
ca1d2de87d
Bump versions for v1.0.0-alpha.5 ( #1932 )
...
Zebra's latest alpha checkpoints on Canopy activation, continues our work on NU5, and fixes a security issue.
Some notable changes include:
## Added
- Log address book metrics when PeerSet or CandidateSet don't have many peers (#1906 )
- Document test coverage workflow (#1919 )
- Add a final job to CI, so we can easily require all the CI jobs to pass (#1927 )
## Changed
- Zebra has moved its mandatory checkpoint from Sapling to Canopy (#1898 , #1926 )
- This is a breaking change for users that depend on the exact height of the mandatory checkpoint.
## Fixed
- tower-batch: wake waiting workers on close to avoid hangs (#1908 )
- Assert that pre-Canopy blocks use checkpointing (#1909 )
- Fix CI disk space usage by disabling incremental compilation in coverage builds (#1923 )
## Security
- Stop relying on unchecked length fields when preallocating vectors (#1925 )
2021-03-22 22:05:01 -04:00
Jane Lusby
fc4b8c1e70
add basic test for batch waker behaviour
2021-03-17 10:44:18 +10:00
Alfredo Garcia
d49eaab68e
Bump versions for zebrad 1.0.0-alpha.4 ( #1913 )
...
* Bump versions for zebrad 1.0.0-alpha.4
* add Cargo.lock
2021-03-16 21:12:37 -03:00
dependabot[bot]
bf1e2bd3b8
build(deps): bump tracing from 0.1.24 to 0.1.25 ( #1815 )
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.24 to 0.1.25.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.24...tracing-0.1.25 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-02-25 09:28:26 +10:00
dependabot[bot]
7b675bbd73
build(deps): bump futures from 0.3.12 to 0.3.13
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.12 to 0.3.13.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.12...0.3.13 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-02-23 16:09:53 -05:00
dependabot[bot]
58f26df5cb
build(deps): bump futures-core from 0.3.12 to 0.3.13
...
Bumps [futures-core](https://github.com/rust-lang/futures-rs ) from 0.3.12 to 0.3.13.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.12...0.3.13 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-02-23 11:11:35 -05:00
teor
7558f74c78
Bump versions for zebrad 1.0.0-alpha.3
2021-02-23 10:39:13 -05:00
dependabot[bot]
f19ef44493
build(deps): bump tracing from 0.1.23 to 0.1.24
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.23 to 0.1.24.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.23...tracing-0.1.24 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-02-18 22:21:49 -05:00
dependabot[bot]
76e4b8f693
build(deps): bump tracing-futures from 0.2.4 to 0.2.5
...
Bumps [tracing-futures](https://github.com/tokio-rs/tracing ) from 0.2.4 to 0.2.5.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-futures-0.2.4...tracing-futures-0.2.5 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-02-17 08:55:16 -05:00
Deirdre Connolly
0c5daa8410
Bump versions for zebrad 1.0.0-alpha.2
...
Including tower-batch bump to 0.2.0, tower-fallback to 0.2.0, zebra-script to 1.0.0-alpha.3
2021-02-09 16:14:29 -05:00
dependabot[bot]
b3a3b8f7c7
build(deps): bump tracing from 0.1.22 to 0.1.23
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.22 to 0.1.23.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.22...tracing-0.1.23 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-02-05 12:26:52 -05:00
dependabot[bot]
75b510a9f6
build(deps): bump futures from 0.3.11 to 0.3.12
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.11 to 0.3.12.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.11...0.3.12 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-01-17 15:42:13 -05:00
dependabot[bot]
68e2942f83
build(deps): bump futures from 0.3.9 to 0.3.11
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.9 to 0.3.11.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.9...0.3.11 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-01-15 08:46:33 -05:00
teor
730910cd99
Upgrade to tokio 0.3.6 from crates.io
...
And remove the tokio git dependency patch
2021-01-12 15:37:27 -05:00
dependabot[bot]
21e92f6392
build(deps): bump futures from 0.3.8 to 0.3.9
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.8 to 0.3.9.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.8...0.3.9 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-01-12 02:13:02 -05:00
dependabot[bot]
8c052cc39a
build(deps): bump color-eyre from 0.5.9 to 0.5.10
...
Bumps [color-eyre](https://github.com/yaahc/color-eyre ) from 0.5.9 to 0.5.10.
- [Release notes](https://github.com/yaahc/color-eyre/releases )
- [Changelog](https://github.com/yaahc/color-eyre/blob/v0.5.10/CHANGELOG.md )
- [Commits](https://github.com/yaahc/color-eyre/compare/v0.5.9...v0.5.10 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-12-03 10:55:16 -05:00
Jane Lusby
d7bef1c155
bump color-eyre version to avoid a panic when printing spantraces ( #1438 )
2020-12-02 14:16:18 -08:00
dependabot[bot]
e832f70c2c
build(deps): bump tracing from 0.1.21 to 0.1.22
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.21 to 0.1.22.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.21...tracing-0.1.22 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-11-24 10:55:53 -05:00
teor
6387dfe1d0
Fix individual crate compilation failures
...
Some Zebra crates don't compile individually due to missing features in
their dependencies. Add those features to each crate's dependency list.
2020-11-23 23:56:28 -08:00
Henry de Valence
add94c1c45
deps: move to tokio 0.3, tower 0.4
...
This change is mostly mechanical, with the exception of the changes to the
`tower-batch` middleware. This middleware was adapted from `tower::buffer`,
and the `tower::buffer` code was changed to implement its own bounded queue,
because Tokio 0.3 removed the `mpsc::Sender::poll_send` method. See
ddc64e8d4d
for more context on the Tower changes. To match Tower as closely as possible
in order to be able to upstream `tower-batch`, those changes are copied from
`tower::Buffer` to `tower-batch`.
2020-11-20 10:08:16 -08:00
dependabot[bot]
83c844abb5
build(deps): bump futures from 0.3.6 to 0.3.7
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.6 to 0.3.7.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.6...0.3.7 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-10-27 02:28:48 -04:00
dependabot[bot]
2d0d8eb2fd
build(deps): bump pin-project from 0.4.26 to 0.4.27 ( #1149 )
...
Bumps [pin-project](https://github.com/taiki-e/pin-project ) from 0.4.26 to 0.4.27.
- [Release notes](https://github.com/taiki-e/pin-project/releases )
- [Changelog](https://github.com/taiki-e/pin-project/blob/master/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/pin-project/compare/v0.4.26...v0.4.27 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-10-12 12:36:21 -07:00
dependabot[bot]
08f363e1cb
build(deps): bump futures from 0.3.5 to 0.3.6
...
Bumps [futures](https://github.com/rust-lang/futures-rs ) from 0.3.5 to 0.3.6.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.5...0.3.6 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-10-06 16:54:08 -04:00
dependabot[bot]
51746892ff
build(deps): bump futures-core from 0.3.5 to 0.3.6
...
Bumps [futures-core](https://github.com/rust-lang/futures-rs ) from 0.3.5 to 0.3.6.
- [Release notes](https://github.com/rust-lang/futures-rs/releases )
- [Changelog](https://github.com/rust-lang/futures-rs/blob/master/CHANGELOG.md )
- [Commits](https://github.com/rust-lang/futures-rs/compare/0.3.5...0.3.6 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-10-06 05:29:51 -04:00
dependabot[bot]
b473476a4a
build(deps): bump pin-project from 0.4.25 to 0.4.26
...
Bumps [pin-project](https://github.com/taiki-e/pin-project ) from 0.4.25 to 0.4.26.
- [Release notes](https://github.com/taiki-e/pin-project/releases )
- [Changelog](https://github.com/taiki-e/pin-project/blob/master/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/pin-project/compare/v0.4.25...v0.4.26 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-10-05 11:27:06 -04:00
dependabot[bot]
1b528404cd
build(deps): bump pin-project from 0.4.24 to 0.4.25
...
Bumps [pin-project](https://github.com/taiki-e/pin-project ) from 0.4.24 to 0.4.25.
- [Release notes](https://github.com/taiki-e/pin-project/releases )
- [Changelog](https://github.com/taiki-e/pin-project/blob/master/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/pin-project/compare/v0.4.24...v0.4.25 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-10-02 11:18:13 -04:00
dependabot[bot]
15c5365ca7
build(deps): bump tracing from 0.1.19 to 0.1.21
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.19 to 0.1.21.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.19...tracing-0.1.21 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-09-29 11:01:34 -04:00
dependabot[bot]
2230e353df
Merge pull request #1103 from ZcashFoundation/dependabot/cargo/pin-project-0.4.24
...
build(deps): bump pin-project from 0.4.23 to 0.4.24
2020-09-28 11:13:11 -07:00
Henry de Valence
6dd7318d3b
deps: use Tower 0.4 from git instead of 0.3.1.
...
This addresses at least three pain points:
- we were affected by bugs that were already fixed in git, but not in
the released crate;
- we can use service combinators to transform requests and responses;
- we can use the hedge middleware.
The version in git is still marked as 0.3.1 but these changes will be
part of tower 0.4: https://github.com/tower-rs/tower/issues/431
2020-09-21 14:16:56 -07:00
dependabot[bot]
5cb61136c9
build(deps): bump tracing from 0.1.18 to 0.1.19 ( #872 )
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.18 to 0.1.19.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.18...tracing-0.1.19 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-08-11 10:18:54 -07:00
dependabot[bot]
f3b65f9609
build(deps): bump tracing from 0.1.17 to 0.1.18
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.17 to 0.1.18.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.17...tracing-0.1.18 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-08-03 15:49:30 -04:00
dependabot[bot]
9a8fe2109f
build(deps): bump pin-project from 0.4.22 to 0.4.23
...
Bumps [pin-project](https://github.com/taiki-e/pin-project ) from 0.4.22 to 0.4.23.
- [Release notes](https://github.com/taiki-e/pin-project/releases )
- [Changelog](https://github.com/taiki-e/pin-project/blob/master/CHANGELOG.md )
- [Commits](https://github.com/taiki-e/pin-project/compare/v0.4.22...v0.4.23 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-07-28 17:27:25 -04:00
Henry de Valence
04044be6d1
tower-batch: test fallback verification example.
2020-07-27 14:52:06 -07:00
dependabot[bot]
909b74a613
build(deps): bump tracing from 0.1.16 to 0.1.17 ( #734 )
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.16 to 0.1.17.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.16...tracing-0.1.17 )
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2020-07-23 10:54:56 -07:00
Jane Lusby
a722cf33f7
enable new tracing instrumentation in tokio
2020-07-22 14:39:54 -04:00
Henry de Valence
0586da7167
Revert #500 (generic errors in tower-batch).
...
Unfortunately, since the Batch wrapper was changed to have a generic error
type, when wrapping it in another Service, nothing constrains the error type,
so we have to specify it explicitly to avoid an inference hole. This is pretty
unergonomic -- from the compiler error message it's very unintuitive that the
right fix is to change `Batch::new` to `Batch::<_, _, SomeError>::new`.
The options are:
1. roll back the changes that make the error type generic, so that the error
type is a concrete type;
2. keep the error type generic but hardcode the error in the default
constructor and add an additional code path that allows overriding the
error.
However, there's a further issue with generic errors: the error type must be
Clone. This problem comes from the fact that there can be multiple Batch
handles that have to share access to errors generated by the inner Batch
worker, so there's not a way to work around this. However, almost all error
types aren't Clone, so there are fairly few error types that we would be
swapping in.
This suggests that in case (2) we would be maintaining extra code to allow
generic errors, but with restrictive enough generic bounds to make it
impractical to use generic error types. For this reason I think that (1) is a
better option.
2020-07-22 14:29:55 -04:00
dependabot[bot]
d627889104
Bump tracing from 0.1.15 to 0.1.16
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.15 to 0.1.16.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.15...tracing-0.1.16 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-07-09 10:22:27 -07:00
Henry de Valence
68f57b2577
Update ed25519-zebra to 1.0.
2020-07-07 11:49:21 -07:00
Jane Lusby
2abf4b93a8
consolidate test init functions into zebra-test ( #541 )
...
* consolidate test init logic into one place
* rustfmt
Co-authored-by: Jane Lusby <jane@zfnd.org>
2020-06-24 11:47:18 -07:00
Henry de Valence
70241d3cad
Fix broken git dependencies.
...
Pinning hashes means these won't break again in the future; they can always be updated.
2020-06-22 20:23:02 -07:00
Jane Lusby
246e7cd2a9
Start testing out new version of `eyre` and `color-eyre` in zebra ( #526 )
...
* port to new version of eyre without generics
* correctly setup color_eyre hooks
Co-authored-by: Jane Lusby <jane@zfnd.org>
2020-06-22 15:36:23 -07:00
dependabot[bot]
f301de41fa
Bump tracing-subscriber from 0.2.5 to 0.2.6
...
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing ) from 0.2.5 to 0.2.6.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber/-0.2.5...tracing-subscriber-0.2.6 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-06-22 12:01:47 -04:00
Jane Lusby
63ae085945
make return error type for Batch generic
2020-06-19 01:48:56 -04:00
Henry de Valence
a0e0e2302b
Update ed25519-zebra to 0.4
2020-06-16 14:35:42 -07:00
Henry de Valence
34ca9a7ed2
Fix Ed25519Verifier using a patched batch API.
...
Changing the batch API to have an explicit item type removes the lifetime
problems described in the previous commit.
2020-06-16 14:35:42 -07:00
Henry de Valence
5bcef64514
Add Ed25519 batch verification example test.
...
This test doesn't compile in a way that reveals a problem with the design. The
verification service takes a `Request<'msg>` parameterized by the message
lifetime, and returns a future unconstrained by the message lifetime (it hashes
upfront to avoid requiring that `'msg` outlive `call`). But the `Batch`
middleware has the verification service working on its own task, so how can we
ensure that the message lives long enough to be read by the worker task?
2020-06-16 14:35:42 -07:00
Henry de Valence
ee26e786f7
tower-batch: initial implementation of batching logic.
...
The name "Buffer" is changed to "Batch" everywhere, and the worker task is rewritten.
Instead of having Worker implement Future directly, we have a consuming async run() function.
2020-06-16 14:35:42 -07:00
Henry de Valence
dcd3f7bb2d
tower-batch: copy tower-buffer source code.
...
There's a lot of functional overlap between the batch design and tower-buffer's
existing internals, so we'll just vendor its source code and modify it.
If/when we upstream it, we can deduplicate common components.
2020-06-16 14:35:42 -07:00