Henry de Valence
eeb4a2470b
Remove version fields from Block, Tx messages.
...
These are included in the Block, Transaction objects themselves, so the
previous code ended up trying to deserialize two version fields per
object.
Closes #226 .
2020-02-05 19:44:35 -05:00
Henry de Valence
51c744b1ae
Update network version number.
2020-02-05 14:06:35 -08:00
Henry de Valence
8d58dd804f
Note that tracing causes clippy false positives
...
Thanks @hawkw for pointing this out.
2020-02-05 12:42:32 -08:00
Henry de Valence
f04f4f0b98
Apply clippy fixes
2020-02-05 12:42:32 -08:00
dependabot-preview[bot]
979cf7ac6d
Bump indexmap from 1.3.1 to 1.3.2
...
Bumps [indexmap](https://github.com/bluss/indexmap ) from 1.3.1 to 1.3.2.
- [Release notes](https://github.com/bluss/indexmap/releases )
- [Commits](https://github.com/bluss/indexmap/compare/1.3.1...1.3.2 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-02-05 14:14:51 -05:00
Henry de Valence
b24f53f4a1
Add From impls for InventoryHash
2020-02-04 17:48:36 -08:00
Deirdre Connolly
6d3d4c4f64
s/GetData/NotFound/ in read_notfound
2020-02-04 18:04:53 -05:00
Deirdre Connolly
1ca55846eb
Little test to exercise sha256dWriter::flush()
2020-02-04 18:04:53 -05:00
Deirdre Connolly
beb72080cb
Delete out of date comment on incomplete Message variants
2020-01-30 13:39:13 -05:00
Deirdre Connolly
53a7af82a0
Add back a missing quotemark
...
Co-Authored-By: Henry de Valence <hdevalence@hdevalence.ca>
2020-01-28 03:48:23 -05:00
Deirdre Connolly
71d5571e39
Add roundtrip proptest for LockTime serialization/deserialization
...
Relates to #150
2020-01-28 03:48:23 -05:00
Deirdre Connolly
d8ebeea08c
Add proptest regressions file
2020-01-28 03:48:23 -05:00
Deirdre Connolly
c2411f4315
Add a little proptest around Magic's Debug impl
2020-01-28 03:48:23 -05:00
Deirdre Connolly
9709b54c57
Fix proptest-regressions locations after reorganizations of files
2020-01-28 03:48:23 -05:00
Henry de Valence
bea7b195ce
Remove vestigial should_be_private module.
2020-01-16 19:27:08 -05:00
Henry de Valence
7cc44f4fa9
Move server.rs to connection.rs and change imports.
2020-01-16 13:20:03 -05:00
Henry de Valence
77ad61331c
Rename `peer::Server` to `peer::Connection`.
...
This doesn't change the file path or edit imports so that the diff is easier to review.
2020-01-16 13:20:03 -05:00
Deirdre Connolly
a3b09c3690
Target crates.io 0.3 versions of tower and tower-load ( #172 )
2020-01-14 17:18:14 -05:00
Henry de Valence
92ddf0542f
Provide impl Zcash[De]Serialize for Vec<T: Zcash[De]Serialize>.
...
This replaces the read_list function and makes the code significantly cleaner.
The only downside is that it loses exact preallocation, but this is probably not a big deal.
2019-12-31 02:46:39 -05:00
Henry de Valence
2965187b91
Upgrade tokio, futures, hyper to released versions.
2019-12-13 17:42:15 -05:00
Deirdre Connolly
82e246d87b
Merge pull request #135 from ZcashFoundation/130
...
On receipt of a Filter(Load|Add|Clear) message, disconnect from peer
2019-12-05 14:06:05 -05:00
Deirdre Connolly
d559a3fa52
Return an error result if the filterload msg size is out of bounds
2019-12-05 13:48:42 -05:00
Deirdre Connolly
cbd95dfc1f
Pass body_len to read_filterload instead of calculating it ourself
...
This lets us still be generic over the reader trait and we aren't recomputing again.
Co-Authored-By: Henry de Valence <hdevalence@hdevalence.ca>
2019-12-05 13:48:42 -05:00
Deirdre Connolly
3fbfffeb44
Remove superfluous zcash_(de)serialize impls
2019-12-05 13:48:42 -05:00
Deirdre Connolly
9a0c2198aa
Parse out exact/max possible lengths for filterload filters
...
Add some unit tests that make sure we obey max values.
2019-12-05 13:48:42 -05:00
Deirdre Connolly
78f0b8aab0
Remove NODE_BLOOM service bit
...
We do not support bloom filters.
2019-12-05 13:48:42 -05:00
Deirdre Connolly
3c26092b01
Read max of 520 bytes for data fields when parsing filteradd messages
2019-12-05 13:48:42 -05:00
Deirdre Connolly
1b8b4d0fac
Encode and decode Filter* messages
...
Also remove stubs related to MerkleBlock and the catchall case for unknown types since we
are finally matching all variants of the Message enum.
2019-12-05 13:48:42 -05:00
Deirdre Connolly
72def27b78
Add FilterLoad, FilterAdd, FilterClear message variants
...
Also remove MerkleBlock stub, we are no longer supporting it (zcashd doesn't either).
2019-12-05 13:48:42 -05:00
Deirdre Connolly
f5aa5f3794
Add Tweak and Filter types
2019-12-05 13:48:42 -05:00
Henry de Valence
36cd6d6e06
cargo fmt
2019-11-27 23:53:36 -05:00
Henry de Valence
f58aaac1ae
Privately re-export ErrorSlot, ClientRequest in peer.
...
This means that all sub-modules of `peer` can import everything they need from
the `peer` module itself, without having to be aware of the internal structure
of their sibling modules.
2019-11-27 23:53:36 -05:00
Henry de Valence
ad6525574b
Rename PeerConnector -> peer::Connector
2019-11-27 23:53:36 -05:00
Henry de Valence
778e49b127
Rename PeerHandshake -> peer::Handshake
2019-11-27 23:53:36 -05:00
Henry de Valence
9ff0fd90dc
Rename ServerState -> State.
...
There's no need to write `Server` every time because it's only used inside of
the server code, and when the handshake service constructs a Server.
2019-11-27 23:53:36 -05:00
Henry de Valence
d1b3e8fe6b
Rename PeerServer -> peer::Server
2019-11-27 23:53:36 -05:00
Henry de Valence
77191e62f6
Remove outdated fixup note.
2019-11-27 23:53:36 -05:00
Henry de Valence
da78603d3a
Rename `PeerClient` to `peer::Client`.
2019-11-27 23:53:36 -05:00
Henry de Valence
4fbc8270a2
Move PeerSet initialization into a submodule.
2019-11-27 05:06:01 -05:00
Henry de Valence
6db852fab2
Refactor protocol into internal, external modules.
...
This commit just moves things around and patches import paths.
2019-11-27 05:06:01 -05:00
Deirdre Connolly
8a9a5ba29b
Revert "Add some simple proptests using the Arbitray trait on Requests and Responses, gated to test only"
...
This reverts commit 5a123acf56
.
2019-11-26 19:35:49 -05:00
Deirdre Connolly
6f52fc7773
Add 'Other' opcode matching when parsing Reject messages
2019-11-26 19:35:49 -05:00
Deirdre Connolly
dd042cf4d8
Add some simple proptests using the Arbitray trait on Requests and Responses, gated to test only
2019-11-26 19:35:49 -05:00
Deirdre Connolly
6168cb51d7
Prefixed currently unused error variable with underscore
2019-11-26 19:35:49 -05:00
Deirdre Connolly
d78ead4a1a
Removed unused trait import
2019-11-26 19:35:49 -05:00
Deirdre Connolly
b9c27e5683
Handle Response::Error and send Message::Reject generated from a PeerError::Rejected
2019-11-26 19:35:49 -05:00
Deirdre Connolly
f5f1fe9bbc
Handle incoming Reject messages when we expect a response
2019-11-26 19:35:49 -05:00
Deirdre Connolly
efd37300b9
Impl From trait for Responses from generic Error impls
...
Also include new Response::Error variant.
2019-11-26 19:35:49 -05:00
Deirdre Connolly
9cdef4acf0
Implement From trait for generic Error impls
...
Also add 'Other' RejectCode variant.
2019-11-26 19:35:49 -05:00
Deirdre Connolly
49c5265d41
Add Rejected variant to PeerError enum, for now
2019-11-26 19:35:49 -05:00