Alfredo Garcia
9cbd369a59
Refactor block module to have submodules ( #512 )
...
* create hash submodule for block
* create header submodule for block
* create serialize submodule for block
* add newline to hash.rs (fmt)
* Update zebra-chain/src/block/tests.rs
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
Co-authored-by: Henry de Valence <hdevalence@hdevalence.ca>
Co-authored-by: Jane Lusby <jlusby42@gmail.com>
2020-06-25 09:18:05 -07:00
teor
a9efb8715e
chain: Update the note about time truncation
2020-06-24 18:22:36 +10:00
teor
3f5e2695e3
chain: Tweak the version and time test bounds
...
Use MAX constants for the block header version and time arbitrary test
ranges. Reduces the block header time arbitrary test range from 2**32 to
2**32-1 (u32::MAX). (2**32 is an invalid time value, which gets
truncated to 0 during serialization.)
Also add some comments about DateTime conversions.
Part of #477 .
2020-06-24 18:22:36 +10:00
teor
719aa75581
chain: Add a comment about transaction sizes
...
We don't need to check transaction sizes yet, because we aren't
parsing or generating transactions outside of blocks.
Part of #483 .
2020-06-24 18:22:36 +10:00
Henry de Valence
e8561d8f9e
rename zebra-test-vectors to zebra-test
2020-06-22 20:23:02 -07:00
teor
d8b48f885b
consensus: Add a checkpoint verifier stub ( #502 )
...
consensus: Add a checkpoint verifier stub
This stub only verifies blocks whose hashes are in the checkpoint
list.
It doesn't have tests, chain child verifies to their ancestors, or
support checkpoint maximum height queries.
Part of #429 .
2020-06-22 08:51:43 +10:00
Henry de Valence
a0e0e2302b
Update ed25519-zebra to 0.4
2020-06-16 14:35:42 -07:00
Henry de Valence
9ddcccdcb4
Update ed25519-zebra to 0.3
2020-06-16 00:42:25 -04:00
Henry de Valence
a023ba9b16
Add serde bounds to zebra-chain structures. ( #231 )
2020-06-15 15:08:14 -07:00
teor
210e11a86d
chain: Check the maximum block size when parsing
...
The maximum block size is 2,000,000 bytes. This commit also limits the
maximum transaction size in parsed blocks. (See #484 for the
corresponding limit on mempool transactions.)
The proptests might test the maximum block size, but they are
randomised. So we also want to explicitly test large block sizes.
(See #482 for these test cases and tests.)
Part of #477 .
2020-06-15 11:00:48 -07:00
teor
585fa7a1ae
chain: Verify the solutionSize field in block headers
...
Verify the value of the equihash solution size field in block headers.
This field isn't stored in the BlockHeader struct, so we need to verify
it at parse time.
Part of #477 .
2020-06-15 19:04:43 +10: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
teor
f1de07889c
Fix a typo in a comment in block.rs
2020-06-04 04:49:23 -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]
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
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
4dc307f2f3
fix last warnings
2020-05-27 15:42:29 -04:00
Jane Lusby
b6b35364f3
cleanup warnings throughout codebase
2020-05-27 15:42:29 -04:00
Deirdre Connolly
8d29d05761
Upgrade sha2 to 0.8.2 release
...
Resolves #326
2020-05-23 21:32:37 -04:00
Kiminuo
6465689555
transaction/hash.rs: Add FromStr implementation (issue #299 )
...
Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com>
2020-05-14 15:30:11 -04:00
Deirdre Connolly
6ed6ccd62e
Clean up imports and some doc comments
2020-04-29 22:42:52 -04:00
Deirdre Connolly
7367daef9f
Tidy TransparentAddress FromStr/Display
2020-04-22 02:17:17 -04:00
Deirdre Connolly
df7ed7ae81
Move note encryption types around ( #362 )
...
* Move around and dedupe note *Cipertext types
* Bump code coverage test timeout to 5 minutes
* Try uploading coverage to codecov.io
2020-04-19 14:45:25 -04:00
Deirdre Connolly
21eca164d8
Refine Output description ephemeral_key to jubjub::AffinePoint
...
And impl Arbitrary for Output to support better generation of those points in proptests.
2020-04-18 22:05:13 -04:00
Deirdre Connolly
7a4be955be
Remove todo
2020-04-18 22:05:13 -04:00
Deirdre Connolly
b53be18c8f
Remove unused From<[u8; 32]> for SpendAuthorizingKey
2020-04-18 04:40:31 -04:00
Deirdre Connolly
630d021886
Remove unused From<[u8; 32]> for ProofAuthorizingKey
2020-04-18 04:40:31 -04:00
Deirdre Connolly
d445799626
Remove the Deref's and make the From's consistent for all key types
2020-04-18 04:40:31 -04:00
Deirdre Connolly
37337c9e44
Remove some impl Deref's and PartialEq's that weren't used
...
Add some impl From<T> for [u8; 32] 's
2020-04-18 04:40:31 -04:00
Deirdre Connolly
f8022442cf
Remove some currently unused From impls for [u8; 32]
2020-04-18 04:40:31 -04:00
Deirdre Connolly
252acd85d8
Tidy imports
2020-04-18 04:40:31 -04:00
Deirdre Connolly
2156c6143b
Complete impl Arbitrary for TransmissionKey
2020-04-18 04:40:31 -04:00
Deirdre Connolly
abcca2c76b
Finish Sapling keys roundtrip proptest
2020-04-18 04:40:31 -04:00
Deirdre Connolly
001b39c588
Impl PartialEq for AuthorizingKey and FullViewingKey
2020-04-18 04:40:31 -04:00
Deirdre Connolly
5d430cff12
Do not try to make a jubjub extended point work as a scalar in redjubjub PublicKey From impl
2020-04-18 04:40:31 -04:00
Deirdre Connolly
94c6d74ecb
Add sapling key derivation bech32 encoding roundtrip proptest
...
And fix SpendingKey Display impl bug.
2020-04-18 04:40:31 -04:00
Deirdre Connolly
9daa1ba3c8
Impl PartialEq for some Sapling keys
2020-04-18 04:40:31 -04:00
Deirdre Connolly
ba3ba6d2d9
Impl From<SpendingKey> for Diversifier
...
This is the _DefaultDiversifier_ method.
2020-04-18 04:40:31 -04:00
Deirdre Connolly
16f1e3061f
Impl From<(AuthorizingKey, NullifierDerivingKey)> for IncomingViewingKey
2020-04-18 04:40:31 -04:00
Deirdre Connolly
e508d09e9b
Move sapling key tests to own module, test key derivation against test vectors
...
Impl a few From<[u8; 32]>'s for a few key types.
2020-04-18 04:40:31 -04:00
Deirdre Connolly
ce1415a8ee
Add generated test vectors from zcash-hackworks/zcash-test-vectors
2020-04-18 04:40:31 -04:00
Deirdre Connolly
f01ea1b4fa
Fix some Sprout key doc/message nits
2020-04-18 04:40:31 -04:00
Deirdre Connolly
adab7335b6
Impl From<[u8; 32]>/Display/FromStr for Sapling SpendingKey, including network field
2020-04-18 04:40:31 -04:00
Deirdre Connolly
68c281c590
Impl Display/FromStr for Sapling IncomingViewingKey, including network field
2020-04-18 04:40:31 -04:00
Deirdre Connolly
cdfcdc4751
Tidy imports
2020-04-18 04:40:31 -04:00
Deirdre Connolly
3eeb9925eb
Impl Debug, Display, and FromStr for Sapling FullViewingKey
2020-04-18 04:40:31 -04:00
Deirdre Connolly
c30a5a64b2
Get Sapling zaddr encoding roundtrip proptest working for now
...
TransmissionKey is just the jubjub affine point identity for now. :/
2020-04-18 04:40:31 -04:00
Deirdre Connolly
aa18937b60
Add network, impl Display and FromStr for SaplingShieldedAddress
2020-04-18 04:40:31 -04:00