Steven Roose
767b14f696
Make Inventory and NetworkMessage enums exhaustive
...
Both by added an `Unknown` variant.
2020-12-21 12:04:26 +00:00
Steven Roose
944371d6a2
Clean up CommandString
...
- Add length invariant.
- Siimplify constructors.
2020-12-21 11:56:51 +00:00
Andrew Poelstra
99201676ae
Merge pull request #514 from stevenroose/tosocketaddrs
...
network: Implement net::ToSocketAddrs for address messages
2020-12-16 17:11:35 +00:00
Andrew Poelstra
c62cd98615
Merge pull request #516 from stevenroose/max-inv-size
...
Add message::MAX_INV_SIZE constant
2020-12-15 23:45:42 +00:00
Alekos Filini
373f355b5a
Flush unrecognized network messages from the read buffer
...
Currently whenever an unrecognized network message is received, it is never
flushed from the read buffer, meaning that unless the stream is closed and
recreated it will keep returning the same error every time `read_next()` is
called.
This commit adds the length of the message to `UnrecognizedNetworkCommand`,
so that the `StreamReader` can flush those bytes before returning the error
to the caller.
2020-12-15 19:54:21 +01:00
Steven Roose
f1b0f263ce
Implement PartialOrd and Ord for Inventory
2020-11-10 19:54:07 +00:00
Steven Roose
1ec3ed3fec
Add message::MAX_INV_SIZE constant
2020-11-09 22:22:59 +00:00
Steven Roose
ab1e9cbb9e
network: Implement net::ToSocketAddrs for address messages
2020-11-09 20:13:00 +00:00
Steven Roose
4c70397a85
network: Add socket_addr method to AddrV2Message
2020-11-08 13:48:42 +00:00
Steven Roose
c7ec4f171f
network: Move AddrV2Message definition down
...
So that it is grouped together with the impls.
2020-11-08 13:43:55 +00:00
Andrew Poelstra
8295885e8e
Merge pull request #454 from jrawsthorne/improved-bip158-types
...
Implement new FilterHeader type to differentiate from FilterHash
2020-11-05 16:46:50 +00:00
Jake Rawsthorne
921f64699c
`addrv2` and `sendaddrv2` network message
2020-10-26 21:49:06 +00:00
Jake Rawsthorne
cf8e290c99
AddrV2 structures
2020-10-26 21:46:10 +00:00
Andrew Poelstra
c16053a265
Merge pull request #446 from jrawsthorne/bip339
...
BIP339: Add wtxidrelay message and WTx inv type
2020-10-26 20:03:36 +00:00
Andrew Poelstra
93df7cbd3e
Merge pull request #291 from kallewoof/2019-07-signet
...
add signet support
2020-10-26 19:46:10 +00:00
Jake Rawsthorne
eeb14c4b08
Implement new FilterHeader type to differentiate from FilterHash
2020-10-10 20:38:10 +01:00
Elichai Turkel
2d70623356
Remove deprecated Error::description impl
2020-10-08 17:11:18 +03:00
Elichai Turkel
023fae1f65
Add the dyn keyword where appropriate
2020-10-08 17:11:16 +03:00
Elichai Turkel
fdd6f4f196
Derive macros instead of implementing via macro_rules
2020-10-08 16:17:14 +03:00
Jake Rawsthorne
c7987d8fcd
Add wtxidrelay message and WTx inv type, document PROTOCOL_VERSION
2020-10-07 20:03:15 +01:00
Karl-Johan Alm
a3d9899cb1
add signet support
2020-09-18 16:32:33 +09:00
Alexis Sellier
5017b33326
Add `Clone` instance to `RawNetworkMessage`
2020-08-31 19:21:29 +02:00
Jake Rawsthorne
e47fcae435
feefilter message
2020-07-30 17:25:21 +01:00
Andrew Poelstra
7efde3ae47
Merge pull request #419 from elichai/2020-03-description
...
Deprecate Error::description
2020-05-23 17:26:38 +00:00
Jake Rawsthorne
81c061a68c
Change WitnessTransaction inv type to use txid
2020-04-14 14:11:44 +01:00
Elichai Turkel
654232a3dc
Deprecate Error::description
2020-04-13 02:15:28 +03:00
Elichai Turkel
a473d01b17
Made some idiomatic changes
2020-03-29 17:15:15 +03:00
Elichai Turkel
3f2d428706
Remove needless references
2020-03-29 17:15:14 +03:00
Elichai Turkel
16eb81e1f7
Replaced slow vec initialization, and dual calls to hashmap
2020-03-29 17:10:27 +03:00
Elichai Turkel
c19b736566
Remove the hex dependency
2020-01-20 18:50:02 +02:00
kiminuo
9e223988fa
Improve fmt::Debug for network/Address
...
Original output:
"Address {services: ServiceFlags(9), address: [0, 0, 0, 0, 0, 65535, 2560, 1], port: 8333}"
New output:
* for IPv4: "Address {services: ServiceFlags(NETWORK|WITNESS), address: 10.0.0.1, port: 8333}"
* for IPv6: "Address {services: ServiceFlags(NETWORK_LIMITED), address: fd87:d87e:eb43::ffff:a00:1, port: 8333}"
2020-01-07 12:30:47 +01:00
Dr Maxim Orlovsky
5fc24dea33
Multiple fixes for hash types and their computing
...
Unit test for wtxid and SegWit transactions
2020-01-01 13:54:23 +01:00
Dr Maxim Orlovsky
f5a8087105
New hash types: MerkleRoot/Branch, WitnessCommit, SigHash, FilterHash
2020-01-01 13:50:17 +01:00
Dr Maxim Orlovsky
4746ccb88e
Final work on Txid and other hashes
...
Fixing issue with external dependency and hash_newtype macro implementation
Reverting back to the bitcoin_hashes crate after new version release
2020-01-01 13:48:28 +01:00
Steven Roose
e2caebc42e
Merge pull request #370 from elichai/2019-12-rawmessage
...
Add a full round test for RawNetworkMessage
2019-12-23 12:30:11 +01:00
Andrew Poelstra
efd2168364
Merge pull request #368 from mauzmorose/bip157-service-flag
...
bip157: Add NODE_COMPACT_FILTERS Service Flag
2019-12-22 16:48:16 +00:00
Elichai Turkel
bc2ba5bb12
Add a full round test for RawNetworkMessage
2019-12-22 14:01:12 +02:00
Sofiane Baltaci
8617de51c8
Adapt service_flags_test to reflect changes
2019-12-21 03:36:47 +01:00
Sofiane Baltaci
43789b1d5a
Add COMPACT_FILTERS service flag to ServiceFlags fmt::Display impl
2019-12-21 03:06:03 +01:00
Sofiane Baltaci
b40d94641d
Add bip157 NODE_COMPACT_FILTERS Service Flag
2019-12-21 02:39:30 +01:00
Sofiane Baltaci
2605141ada
Fix typo on getcfcheckpt command string
2019-12-20 23:47:40 +01:00
kiminuo
74285738ce
Convert numeric representation of ServiceFlags to bitwise OR of the flag names
...
The changes affect only tests
2019-12-12 00:11:13 +01:00
Steven Roose
0f4f060e8b
Merge pull request #363 from kiminuo/feature/remove-old-todos
...
Remove two old TODO comments [nit]
2019-12-11 16:53:20 +00:00
Steven Roose
024557fe47
Merge pull request #357 from stevenroose/command-str
...
Various optimizations of the network code
2019-12-11 15:38:52 +00:00
kiminuo
269ddb6f07
Remove some old TODO comments
2019-12-11 08:26:04 +01:00
Steven Roose
a8f14af24d
Prevent panic on oversized CommandString's
2019-12-10 20:20:04 +00:00
Steven Roose
fe3397399e
Add Copy to InvType enum
2019-12-08 20:58:52 +00:00
Steven Roose
671b3173c8
Make internals for CommandString private
...
The From traits and AsRef and Display implementations
let you do all you want.
2019-12-08 20:58:50 +00:00
Steven Roose
83f55b7f1d
Follow Rust std practice for RejectReason enum
2019-12-08 20:58:49 +00:00
Steven Roose
5c84e9671f
Optimize Reject message
2019-12-08 20:58:46 +00:00