teor
15bc64aed9
consensus: add a (failing) verify round-trip test
...
This test doesn't work, because the futures are not used correctly.
Part of #428 .
2020-06-12 09:46:18 -07:00
teor
c2590ce526
consensus: Make future handling a little nicer
...
Part of #428 .
2020-06-12 09:46:18 -07:00
teor
7b8707be1e
consensus: Add a simple block verify test
...
Part of #428 .
2020-06-12 09:46:18 -07:00
teor
d0a833f3fb
consensus: Make the state service pluggable in block verification
...
We want to allow different state service implementations, and wrapped
state services. So we make verify::init() take a state_service, and
store that service in the BlockVerifier state_service field.
Part of #428 .
2020-06-12 09:46:18 -07:00
teor
8072d5b7e8
state: Add an Error type alias to ZebraState
2020-06-12 09:46:18 -07:00
teor
4181c8a5d5
consensus: Make BlockVerifier respond with the BlockHeaderHash
...
Part of #428 .
2020-06-12 09:46:18 -07:00
teor
c019726fb1
consensus: Add a script verifier stub
...
Part of #428 .
2020-06-12 09:46:18 -07:00
teor
ba61498a7f
Ignore emacs temp files
2020-06-12 09:46:18 -07:00
teor
af1d64b218
consensus: Add a transaction verification stub
...
Part of #428 .
2020-06-12 09:46:18 -07:00
teor
997201c9c7
consensus: Add a mempool stub
2020-06-12 09:46:18 -07:00
teor
8f2ddef0a4
consensus: Add a block verification service
...
Part of #428 .
2020-06-12 09:46:18 -07:00
teor
603e243c18
design: Add validation to the design doc
...
Add validation for:
- blocks in the chain, and
- transactions in the chain and mempool.
Also:
- Note that zebra-script may do some script validation.
- Describe the zebra-consensus dependencies.
Part of #428 .
2020-06-12 09:46:18 -07:00
teor
088d0dc94b
design: Make parsing explicit in the design doc
2020-06-12 09:46:18 -07:00
Jane Lusby
df656a8bf0
Reorganize `connect` subcommand for readibility ( #450 )
2020-06-12 09:20:58 -07:00
George Tankersley
d8b3db5679
Use new seeder address for yolo.money
2020-06-10 21:49:25 -04:00
George Tankersley
6606bcaa62
Update list of DNS seeders
...
This adds the Foundation's new seeders and removes Simon's defunct one.
2020-06-10 20:56:31 -04:00
dependabot[bot]
32d1b9c4f9
Bump codecov/codecov-action from v1 to v1.0.7
...
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action ) from v1 to v1.0.7.
- [Release notes](https://github.com/codecov/codecov-action/releases )
- [Commits](https://github.com/codecov/codecov-action/compare/v1...f532c3a1452359a7f96c37efc741537b80555c74 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-06-09 17:47:18 -04:00
dependabot[bot]
3666db7a42
Bump w9jds/firebase-action from v1.1.0 to v1.3.1
...
Bumps [w9jds/firebase-action](https://github.com/w9jds/firebase-action ) from v1.1.0 to v1.3.1.
- [Release notes](https://github.com/w9jds/firebase-action/releases )
- [Commits](https://github.com/w9jds/firebase-action/compare/v1.1.0...92e616d7667df9bd5c7d9c6a1ff50e9f79861a65 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-06-09 17:47:00 -04:00
Deirdre Connolly
1f28e535ec
Label github action updates as 'infrastructure'
2020-06-09 17:46:33 -04:00
dependabot-preview[bot]
78f09c5360
Create Dependabot config file
2020-06-09 17:00:32 -04:00
Jane Lusby
431f194c0f
propagate errors out of zebra_network::init ( #435 )
...
Prior to this change, the service returned by `zebra_network::init` would spawn background tasks that could silently fail, causing unexpected errors in the zebra_network service.
This change modifies the `PeerSet` that backs `zebra_network::init` to store all of the `JoinHandle`s for each background task it depends on. The `PeerSet` then checks this set of futures to see if any of them have exited with an error or a panic, and if they have it returns the error as part of `poll_ready`.
2020-06-09 12:24:28 -07:00
Deirdre Connolly
d61cf27d74
Turn off the project workflow, reorg some CI jobs ( #451 )
...
* Remove 'assign to project' workflow
Doesn't work with external PRs.
* Reorg CI jobs a bit
* Also upgrade gcloud sdk to version 295.0.0
2020-06-08 21:03:51 -04:00
Deirdre Connolly
42cc55b0bb
Remove testing tokio task
...
That fires 'GetPeers' requests at our running 'zebra seed'.
2020-06-08 19:26:23 -04:00
Deirdre Connolly
43b77b080e
Fix 'dos' feature for seed command, and Buffer the seed service
2020-06-08 19:26:23 -04:00
Deirdre Connolly
8f5e7c268b
Request::Peers not GetPeers
2020-06-08 19:26:23 -04:00
dependabot-preview[bot]
97aceae461
Bump pin-project from 0.4.19 to 0.4.20
...
Bumps [pin-project](https://github.com/taiki-e/pin-project ) from 0.4.19 to 0.4.20.
- [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.19...v0.4.20 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-06 19:03:48 -04:00
Jane Lusby
9f802cd8dd
Wrap Transaction in Arc
2020-06-06 18:13:17 -04:00
Deirdre Connolly
b263489af6
Export ed25519 zebra ( #445 )
...
And use that one, and our similar redjubjub export, everywhere.
Fixes #405
* Move PRs to 'In Progress' column on project board when created
2020-06-06 18:10:32 -04:00
Deirdre Connolly
123ba3674f
Update assign-to-project.yml to use a scoped personal access toke ( #441 )
...
* Update assign-to-project.yml
* Rename project?
* Rename workflow & job
2020-06-06 14:39:46 -04:00
Deirdre Connolly
d54c83ead5
Add assign to project workflow ( #438 )
2020-06-05 19:21:20 -04:00
Jane Lusby
9bcda0f9c7
Wrap Blocks in Arc throughout codebase
2020-06-05 00:36:55 -04:00
Jane Lusby
18b4dbc16c
fix tracing configuration issues ( #432 )
2020-06-04 19:34:06 -07:00
teor
eef76c7c84
Document that zebra isn't intended for light wallets
...
zebra-state can't be used to implement light wallets, because it keeps a
copy of the chain state.
Document this design choice in the design doc.
Closes #425 .
2020-06-04 13:38:30 -04:00
dependabot-preview[bot]
dff4f12aca
Bump pin-project from 0.4.17 to 0.4.19
...
Bumps [pin-project](https://github.com/taiki-e/pin-project ) from 0.4.17 to 0.4.19.
- [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.17...v0.4.19 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-04 13:21:48 -04:00
Jane Lusby
ac76d75813
Make blocks queryable by height ( #422 )
2020-06-04 10:17:49 -07:00
teor
f1de07889c
Fix a typo in a comment in block.rs
2020-06-04 04:49:23 -04:00
teor
61b4c5f1ee
Fix a typo in design.md ( #424 )
2020-06-03 20:02:03 -07:00
dependabot-preview[bot]
2dcb4fccec
Bump tracing from 0.1.14 to 0.1.15
...
Bumps [tracing](https://github.com/tokio-rs/tracing ) from 0.1.14 to 0.1.15.
- [Release notes](https://github.com/tokio-rs/tracing/releases )
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-0.1.14...tracing-0.1.15 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-03 02:40:05 -04:00
Deirdre Connolly
be090333f4
Make per-patch coverage informational, not enforced
2020-06-03 02:34:28 -04:00
dependabot-preview[bot]
07b7c711fb
Bump color-eyre from 0.3.2 to 0.3.4
...
Bumps [color-eyre](https://github.com/yaahc/color-eyre ) from 0.3.2 to 0.3.4.
- [Release notes](https://github.com/yaahc/color-eyre/releases )
- [Commits](https://github.com/yaahc/color-eyre/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-02 22:55:02 -04:00
Jane Lusby
e9af80b875
Add initial version of zebra-state ( #414 )
...
* rename zebra-storage to zebra-state
* Setup initial skeleton for zebra-state
* add test
* Apply suggestions from code review
Co-authored-by: Henry de Valence <hdevalence@hdevalence.ca>
* move shared test vectors to a common crate
Co-authored-by: Jane Lusby <jane@zfnd.org>
Co-authored-by: Henry de Valence <hdevalence@hdevalence.ca>
2020-06-02 16:16:17 -07:00
dependabot-preview[bot]
8e7d91b4a3
Bump eyre from 0.4.2 to 0.4.3
...
Bumps [eyre](https://github.com/yaahc/eyre ) from 0.4.2 to 0.4.3.
- [Release notes](https://github.com/yaahc/eyre/releases )
- [Commits](https://github.com/yaahc/eyre/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-02 18:48:50 -04:00
dependabot-preview[bot]
7a75522885
Bump indexmap from 1.3.2 to 1.4.0
...
Bumps [indexmap](https://github.com/bluss/indexmap ) from 1.3.2 to 1.4.0.
- [Release notes](https://github.com/bluss/indexmap/releases )
- [Commits](https://github.com/bluss/indexmap/compare/1.3.2...1.4.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-06-01 15:38:00 -04:00
dependabot-preview[bot]
433c2e1b3f
Bump serde from 1.0.110 to 1.0.111
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.110 to 1.0.111.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.110...v1.0.111 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-30 00:29:43 -04:00
dependabot-preview[bot]
a62b93d47c
Bump hyper from 0.13.5 to 0.13.6
...
Bumps [hyper](https://github.com/hyperium/hyper ) from 0.13.5 to 0.13.6.
- [Release notes](https://github.com/hyperium/hyper/releases )
- [Changelog](https://github.com/hyperium/hyper/blob/master/CHANGELOG.md )
- [Commits](https://github.com/hyperium/hyper/compare/v0.13.5...v0.13.6 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-30 00:29:05 -04:00
dependabot-preview[bot]
145d9a1835
Bump proptest from 0.9.6 to 0.10.0
...
Bumps [proptest](https://github.com/altsysrq/proptest ) from 0.9.6 to 0.10.0.
- [Release notes](https://github.com/altsysrq/proptest/releases )
- [Changelog](https://github.com/AltSysrq/proptest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/altsysrq/proptest/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-29 15:06:40 -04:00
Jane Lusby
da72c5a86a
switch from abscissa::Context to color-eyre ( #409 )
...
Co-authored-by: Jane Lusby <jane@zfnd.org>
2020-05-28 23:01:24 -04:00
dependabot-preview[bot]
e317b68b1d
Bump proptest-derive from 0.1.2 to 0.2.0
...
Bumps [proptest-derive](https://github.com/AltSysrq/proptest ) from 0.1.2 to 0.2.0.
- [Release notes](https://github.com/AltSysrq/proptest/releases )
- [Changelog](https://github.com/AltSysrq/proptest/blob/master/CHANGELOG.md )
- [Commits](https://github.com/AltSysrq/proptest/compare/proptest-derive-0.1.2...proptest-derive-0.2.0 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-05-28 23:00:29 -04:00
Jane Lusby
4a2d2a359c
add cargo fmt to ci ( #403 )
...
* add cargo fmt to ci
* rebase on main
* switch to stable
Co-authored-by: Jane Lusby <jane@zfnd.org>
2020-05-27 19:12:25 -07:00
Jane Lusby
8c178c3ee4
fix panic in seed subcommand ( #401 )
...
Co-authored-by: Jane Lusby <jane@zfnd.org>
Prior to this change, the seed subcommand would consistently encounter a panic in one of the background tasks, but would continue running after the panic. This is indicative of two bugs.
First, zebrad was not configured to treat panics as non recoverable and instead defaulted to the tokio defaults, which are to catch panics in tasks and return them via the join handle if available, or to print them if the join handle has been discarded. This is likely a poor fit for zebrad as an application, we do not need to maximize uptime or minimize the extent of an outage should one of our tasks / services start encountering panics. Ignoring a panic increases our risk of observing invalid state, causing all sorts of wild and bad bugs. To deal with this we've switched the default panic behavior from `unwind` to `abort`. This makes panics fail immediately and take down the entire application, regardless of where they occur, which is consistent with our treatment of misbehaving connections.
The second bug is the panic itself. This was triggered by a duplicate entry in the initial_peers set. To fix this we've switched the storage for the peers from a `Vec` to a `HashSet`, which has similar properties but guarantees uniqueness of its keys.
2020-05-27 17:40:12 -07:00