Alfredo Garcia
33af7130dc
Apply suggestions from code review
...
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2021-02-11 15:51:31 -05:00
Alfredo Garcia
8c48ad6846
add rust version names to jobs
2021-02-11 15:51:31 -05:00
Alfredo Garcia
58a73c5626
add beta rust to test jobs
2021-02-11 15:51:31 -05:00
Alfredo Garcia
de78fcf0f6
try a matrix for rust stable and beta
2021-02-11 15:51:31 -05:00
Alfredo Garcia
43ff80f28f
try a CI build with beta rust
2021-02-11 15:51:31 -05:00
teor
e7176b86da
Clarify the Response::Nil documentation
2021-02-11 09:45:42 -05:00
dependabot[bot]
af11cc4815
build(deps): bump vergen from 3.1.0 to 3.2.0
...
Bumps [vergen](https://github.com/rustyhorde/vergen ) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/rustyhorde/vergen/releases )
- [Commits](https://github.com/rustyhorde/vergen/compare/v3.1.0...v3.2.0 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-02-10 21:36:03 -05:00
Deirdre Connolly
d93804ebe7
Add draft PR template for release checklist ( #1717 )
...
* Add draft PR template for release checklist
* Add some notes about keepachangelog categories
* Add excessive detail to the release checklist
We want to be very clear about the process now,
so we get consistency, and so other developers
can follow it.
Eventually, these details should move to the
developer book.
* Add links for Release Drafter and the GitHub Releases location
Co-authored-by: teor <teor@riseup.net>
2021-02-10 10:56:58 +10:00
teor
0b76352468
Document a state_contains bug ( #1715 )
...
* Document a state_contains bug in the syncer and Inbound
2021-02-10 09:05:14 +10: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
teor
dce11358d7
Log when the syncer awaits peer readiness ( #1714 )
2021-02-10 07:09:27 +10:00
dependabot[bot]
d030cd9e3a
build(deps): bump serde_json from 1.0.61 to 1.0.62
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.61 to 1.0.62.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.61...v1.0.62 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-02-08 18:44:36 -05:00
Alfredo Garcia
241c7ad849
Stop using CallAllUnordered in peer_set::add_initial_peers ( #1705 )
...
* use ServiceExt::oneshot and FuturesUnordered
Co-authored-by: teor <teor@riseup.net>
2021-02-09 08:16:02 +10:00
Alfredo Garcia
0723ac5be1
Fix poll_ready usage in ChainVerifier ( #1700 )
...
* change `poll_ready()` and `call()` of `ChainVerifier`
* add bound, move max_checkpoint_height
* add buffers to the checkpoint and block verifiers
And rename the chain verifier fields so `block` means `Arc<Block>`, and
`block_verifier` means `Buffer<BlockVerifier, ...>`.
* Fix the error types
* Use `ServiceExt::oneshot` in `ChainVerifier::call`
And:
* make the code look like the `main` branch as much as possible
* document the `poll_ready`/`call` invariant
* Use `ServiceExt::oneshot` in `chain::init`
Co-authored-by: teor <teor@riseup.net>
2021-02-09 08:13:55 +10:00
teor
a91006afa7
Actually use `VerifyCheckpointError::CommitFinalized` ( #1706 )
...
Also:
* use `ServiceExt::oneshot` in the checkpoint verifier
* make some error messages more specific
* clean up the `std::future`/`futures` imports
2021-02-09 07:16:36 +10:00
teor
132c7fe4a5
Add a comment about a mempool request bug
...
Transaction verifier mempool requests should take the next block height,
because some consensus rules depend on the exact height.
See #1683 .
2021-02-05 16:40:34 -05:00
Jane Lusby
0ac259430a
Implement Async Batch verification API for groth16
...
This PR is the first step in getting a groth16 proving system fully
integrated with the rest of zebra. This PR implements the initial async
API, but none of the actual batching logic necessary for our eventual
verifier design.
Once the batch verification API from bellman has been implemented we
will need to swap out the "Batch" type defined in this crate with the
new `batch::Verifier` defined in bellman.
2021-02-05 14:52:48 -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
Alfredo Garcia
bfb3de7a8a
Use use max_items as bound in tower-batch ( #1691 )
2021-02-05 12:42:38 +10:00
Alfredo Garcia
e455c3fa8a
add comment about error handling ( #1692 )
2021-02-05 12:41:27 +10:00
teor
1e156a5d60
Document that connect_isolated only works on mainnet
...
Document that connect_isolated only works on mainnet.
See #1687 .
2021-02-04 17:32:00 -05:00
teor
bf42e468fc
Temporarily disable failing docs CI
2021-02-05 07:50:46 +10:00
teor
69088545d9
Temporarily disable failing coverage CI
2021-02-05 07:50:46 +10:00
teor
bd03a51482
Remove an outdated comment in the script verifier ( #1680 )
2021-02-04 09:48:00 +10:00
teor
919dc0307f
Rewrite the comment to be more explicit
2021-02-03 17:56:21 -05:00
teor
99fe588896
Document the impact of the redjubjub channel bound
2021-02-03 17:56:21 -05:00
Alfredo Garcia
d7c40af2a8
Fix shutdown panics ( #1637 )
...
* add a shutdown flag in zebra_chain::shutdown
* fix network panic on shutdown
* fix checkpoint panic on shutdown
2021-02-03 19:03:28 +10:00
Alfredo Garcia
221512c733
Async DNS seeder lookups ( #1662 )
...
* replace to_socket_addrs
* refactor `resolve()` into `resolve_host()`
* use `resolve_host()` to resolve config peers
* add DNS_LOOKUP_TIMEOUT constant
* don't block the main thread in initialize
2021-02-03 12:20:26 +10:00
teor
6679a124e3
Require Inbound setup handlers to provide a result
...
Rather than having them default to `Ok(())`, which is incorrect
for some error handlers.
2021-02-03 08:32:10 +10:00
teor
09c8c89462
Make sure FailedInit never escapes Inbound::poll_ready
2021-02-03 08:32:10 +10:00
teor
983e94f9e4
Add a TODO for inbound error handling cleanup
2021-02-03 08:32:10 +10:00
teor
134a5e78bd
Consistently use `network_setup` for the Inbound Setup
2021-02-03 08:32:10 +10:00
teor
1c8362fe01
Remove unused imports
2021-02-03 08:32:10 +10:00
Jane Lusby
4cf331562c
combine network setup into an exhaustive match
2021-02-03 08:32:10 +10:00
Jane Lusby
4d6ef89248
avoid using async blocks to avoid lifetime bug with generators
2021-02-03 08:32:10 +10:00
Jane Lusby
685a592399
Add clonable wrapper around TryRecvError
2021-02-03 08:32:10 +10:00
teor
6ffeb670ed
Log the failed response in an unreachable panic
2021-02-03 08:32:10 +10:00
teor
eac4fd181a
Add a Setup enum to manage Inbound network setup internal state
...
This change encodes a bunch of invariants in the type system,
and adds explicit failure states for:
* a closed oneshot,
* bugs in the initialization code.
2021-02-03 08:32:10 +10:00
teor
32b032204a
Consistently return Response::Nil during setup
...
And log an info-level message as a diagnostic, in case setup takes a
long time.
2021-02-03 08:32:10 +10:00
teor
94eb91305b
Stop using ServiceExt::call_all due to buffer bugs
...
ServiceExt::call_all leaks Tower::Buffer reservations, so we can't use
it in Zebra.
Instead, use a loop in the returned future.
See #1593 for details.
2021-02-03 08:32:10 +10:00
teor
64bc45cd2e
Fix state readiness hangs for Inbound
...
Use `ServiceExt::oneshot` to perform state requests.
Explain that `ServiceExt::call_all` calls `poll_ready` internally.
Document a state service invariant imposed by `ServiceExt::call_all`.
2021-02-03 08:32:10 +10:00
teor
4d1a2fd02e
Make the Inbound invariant clearer
2021-02-03 08:32:10 +10:00
teor
2a25b9ee72
Remove services that are never `call`ed from Inbound
...
Uses the `ServiceExt::oneshot` design pattern from #1593 .
2021-02-03 08:32:10 +10:00
dependabot[bot]
25b6491929
build(deps): bump sha2 from 0.9.2 to 0.9.3
...
Bumps [sha2](https://github.com/RustCrypto/hashes ) from 0.9.2 to 0.9.3.
- [Release notes](https://github.com/RustCrypto/hashes/releases )
- [Commits](https://github.com/RustCrypto/hashes/compare/sha2-v0.9.2...sha2-v0.9.3 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-02-01 19:14:15 -05:00
teor
3861a85cc5
Mention security disclosure policy in README
2021-01-31 20:20:50 -05:00
dependabot[bot]
c52310ef91
build(deps): bump jubjub from 0.5.1 to 0.6.0
...
Bumps [jubjub](https://github.com/zkcrypto/jubjub ) from 0.5.1 to 0.6.0.
- [Release notes](https://github.com/zkcrypto/jubjub/releases )
- [Changelog](https://github.com/zkcrypto/jubjub/blob/main/RELEASES.md )
- [Commits](https://github.com/zkcrypto/jubjub/commits )
Signed-off-by: dependabot[bot] <support@github.com>
2021-01-30 01:54:06 -05:00
dependabot[bot]
5619cd1056
build(deps): bump serde from 1.0.122 to 1.0.123
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.122 to 1.0.123.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.122...v1.0.123 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-01-29 21:18:29 -05:00
dependabot[bot]
3c6bf4e1cd
build(deps): bump primitive-types from 0.8.0 to 0.9.0
...
Bumps [primitive-types](https://github.com/paritytech/parity-common ) from 0.8.0 to 0.9.0.
- [Release notes](https://github.com/paritytech/parity-common/releases )
- [Commits](https://github.com/paritytech/parity-common/compare/primitive-types-v0.8.0...primitive-types-v0.9.0 )
Signed-off-by: dependabot[bot] <support@github.com>
2021-01-29 21:11:03 -05:00
dependabot[bot]
db9850afd5
build(deps): bump owo-colors from 1.2.1 to 1.3.0
...
Bumps [owo-colors](https://github.com/jam1garner/owo-colors ) from 1.2.1 to 1.3.0.
- [Release notes](https://github.com/jam1garner/owo-colors/releases )
- [Commits](https://github.com/jam1garner/owo-colors/commits )
Signed-off-by: dependabot[bot] <support@github.com>
2021-01-29 21:05:54 -05:00
teor
7ad090367c
Add security disclosure principles
...
Make our security disclosure goals and principles explicit, including:
- prioritising users and researchers
- assuming good faith
- operating a no fault process
- working with researchers regardless of how they disclose
(but we prefer this process)
2021-01-29 17:44:52 -05:00