Commit Graph

1427 Commits

Author SHA1 Message Date
dependabot[bot] 1b7bf61f96 build(deps): bump thiserror from 1.0.20 to 1.0.21
Bumps [thiserror](https://github.com/dtolnay/thiserror) from 1.0.20 to 1.0.21.
- [Release notes](https://github.com/dtolnay/thiserror/releases)
- [Commits](https://github.com/dtolnay/thiserror/compare/1.0.20...1.0.21)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-07 18:25:33 -04:00
Deirdre Connolly b6bca380fa Format 'under construction' better in markdown 2020-10-07 11:35:39 -04:00
Henry de Valence b2c3ba9d94
docs: update readme (#1118)
* docs: update readme

Fill in the README with:

- setting expectations about Zebra goals;
- explanation of the work we've done so far;
- suggestions from review comments;
- under construction sign.


Co-authored-by: Jane Lusby <jlusby42@gmail.com>


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


Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Jane Lusby <jlusby42@gmail.com>


Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>

Co-authored-by: Jane Lusby <jlusby42@gmail.com>
Co-authored-by: teor <teor@riseup.net>
Co-authored-by: Deirdre Connolly <deirdre@zfnd.org>
2020-10-06 23:53:22 -07:00
Deirdre Connolly 8b8ef6dc4d Remove extra Sum impl 2020-10-07 01:29:08 -04:00
Deirdre Connolly cc44711204 Impl<'a> Sub<&'a ValueCommitment> for ValueCommitment 2020-10-07 01:29:08 -04:00
Deirdre Connolly de6994ad52 Dupe the multiple Add impls
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
2020-10-07 01:29:08 -04:00
Deirdre Connolly 62ad554d84 Remove redundant non_snake_case 2020-10-07 01:29:08 -04:00
Deirdre Connolly b5b2d6a359 Impl more Add, Sum for references and Sum test 2020-10-07 01:29:08 -04:00
Deirdre Connolly 7cd730c552 Add tests for impl (Add|Sub)(Assign) for ValueCommitment 2020-10-07 01:29:08 -04:00
Deirdre Connolly d4da79af86 Impl (Add|Sub)(Assign) for ValueCommitment 2020-10-07 01:29:08 -04:00
teor 3820eddef7
Shielded coinbase test blocks (#1116)
* Add shielded coinbase block test vectors

* Add a large block test vector in binary format
2020-10-06 16:35:41 -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] 1d742d0658 build(deps): bump futures-util from 0.3.5 to 0.3.6
Bumps [futures-util](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:32:21 -04:00
dependabot[bot] 23a62a2d87 build(deps): bump inferno from 0.10.0 to 0.10.1
Bumps [inferno](https://github.com/jonhoo/inferno) from 0.10.0 to 0.10.1.
- [Release notes](https://github.com/jonhoo/inferno/releases)
- [Changelog](https://github.com/jonhoo/inferno/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jonhoo/inferno/compare/v0.10.0...v0.10.1)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-06 05:31:01 -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
Deirdre Connolly f7095ae9a2 Add some more human-readable language to the doc comment on merkle_crh_sprout 2020-10-05 23:44:25 -04:00
Deirdre Connolly 0cf24be8e0 Use VecDeque in places
The unwrap()'s are all after checks to make sure the value should never be None.
2020-10-05 23:44:25 -04:00
Deirdre Connolly d6cac9ea0a Allow dead code for now 2020-10-05 23:44:25 -04:00
Deirdre Connolly ee8ac1fd38 Remove LittleEndian import 2020-10-05 23:44:25 -04:00
Deirdre Connolly b85fcdfce9 Hex-encode empty root test vectors to height 29 2020-10-05 23:44:25 -04:00
Deirdre Connolly 8ab0f92d45 Persist the byte-reversed commitments 2020-10-05 23:44:25 -04:00
Deirdre Connolly ebbb494fb3 It woooooorks 2020-10-05 23:44:25 -04:00
Deirdre Connolly 30491c2c55 Fix merkle_crh_sprout 2020-10-05 23:44:25 -04:00
Deirdre Connolly 064021b7bf Update test vectors 2020-10-05 23:44:25 -04:00
Deirdre Connolly 24fa507e41 Tidy tests 2020-10-05 23:44:25 -04:00
Deirdre Connolly 867576db21 Add a (theoretically) working Sprout note commitment tree impl and some tests 2020-10-05 23:44:25 -04:00
Deirdre Connolly 5e18e72522 Add some more human-readable language to the doc comment on merkle_crh_sapling 2020-10-05 23:43:23 -04:00
Deirdre Connolly bb0fe9955b Remove Arbitrary from NoteCommitmentTree 2020-10-05 23:43:23 -04:00
Deirdre Connolly 44af7855e4 Move hex_empty_roots test vectors into the only test that uses them 2020-10-05 23:43:23 -04:00
Deirdre Connolly 98e40aa44f Use VecDeque in places
All unwrap()'s are after checks to make sure we won't be unwrap'ing a None
2020-10-05 23:43:23 -04:00
Deirdre Connolly 6732084928 Revert Sprout note commitment tree stuff for now 2020-10-05 23:43:23 -04:00
Deirdre Connolly fea448227f Add comment about where the sapling empty merkle roots come from 2020-10-05 23:43:23 -04:00
Deirdre Connolly 3d45209f05 Sprout NoteCommitmentTree root computation 2020-10-05 23:43:23 -04:00
Deirdre Connolly 06c69913c3 We can accurately compute Sapling note commitment tree roots now 2020-10-05 23:43:23 -04:00
Deirdre Connolly 915372e6a2 Correctly computing empty internal nodes in the Sapling note commitment tree 2020-10-05 23:43:23 -04:00
Deirdre Connolly b93abea34f Incomplete impl of Sapling note commitment merkle tree 2020-10-05 23:43:23 -04:00
Deirdre Connolly 568edb54e6 Add merkle_crh_sprout() and tidy note* things 2020-10-05 23:43:23 -04:00
Dimitris Apostolou 36279621f0 Fix typos 2020-10-06 12:16:41 +10:00
teor b05273ac16
State RFC: remove duplicate validation steps (#1123) 2020-10-05 19:03:17 -07: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] d769f62a73 build(deps): bump color-eyre from 0.5.5 to 0.5.6
Bumps [color-eyre](https://github.com/yaahc/color-eyre) from 0.5.5 to 0.5.6.
- [Release notes](https://github.com/yaahc/color-eyre/releases)
- [Changelog](https://github.com/yaahc/color-eyre/blob/master/CHANGELOG.md)
- [Commits](https://github.com/yaahc/color-eyre/compare/v0.5.5...v0.5.6)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-05 11:26:23 -04:00
Jane Lusby 86ed13060f
Add tests for `Chain` implementation (#1093)
* Begin work on RFC5 implementation

* I think this is necessary

* holy shit supertrait implemented via subtrait

* implement most of the chain functions

* change to slightly better name

* implement fork

* fix outpoint handling in Chain struct

* update expect for work

* resolve review comment

* split utxo into two sets

* update the Chain definition

* just a little more

* update comment

* Apply suggestions from code review

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

* apply changes from code review

* remove allow attribute in zebra-state/lib.rs

* Update zebra-state/src/memory_state.rs

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

* merge ChainSet type into MemoryState

* rename state impl types

* Add error messages to asserts

* checkpoint so I can split off arbitrary changes into a PR

* export proptest impls for use in downstream crates

* add testjob for disabled feature in zebra-chain

* run rustfmt

* try to fix github actions syntax

* differentiate name

* prove that github action tests zebra-chain build without features

* revert change from last commit now that test is running

* remove accidentally introduced newline

* checkpoint

* add module doc comment

* update RFC for utxos

* add missing header

* working proptest for Chain

* apply change from chain impl PR

* setup config for proptests

* Update zebra-chain/src/block/arbitrary.rs

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

* run rustfmt

Co-authored-by: teor <teor@riseup.net>
2020-10-02 15:51:51 -07: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] ae362d260e build(deps): bump serde_json from 1.0.57 to 1.0.58
Bumps [serde_json](https://github.com/serde-rs/json) from 1.0.57 to 1.0.58.
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](https://github.com/serde-rs/json/compare/v1.0.57...v1.0.58)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-01 16:56:11 -04:00
dependabot[bot] b5ecafa7bc build(deps): bump chrono from 0.4.18 to 0.4.19
Bumps [chrono](https://github.com/chronotope/chrono) from 0.4.18 to 0.4.19.
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](https://github.com/chronotope/chrono/compare/v0.4.18...v0.4.19)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-01 15:09:10 -04:00
teor 2db97ba6e4
Send the final checkpoint block to the checkpoint verifier (#1111)
* Send the final checkpoint block to the checkpoint verifier

Also:
  * route blocks with no height to the block verifier
  * update an incorrect comment

* Add missing {

* rustfmt
2020-09-30 12:53:31 -07:00
teor 41b985ee0b Block test vector comment updates 2020-09-30 07:27:16 +10:00
teor 28b0e5d197 Improve a test failure message 2020-09-29 11:42:00 -04:00
teor 1a7e43a31d Manually rustfmt code inside lazy_static! 2020-09-29 11:42:00 -04:00
teor 58041d8a49 Rename TEST_BLOCKS to BLOCKS
To avoid confusion with TESTNET_BLOCKS.

Automated search and replace, made using this script:

sed -i 's/TEST_BLOCKS/BLOCKS/' \
  $(grep -r TEST_BLOCKS zebra* | cut -d: -f1 | sort -u)
2020-09-29 11:42:00 -04:00