Matt Corallo
7a77c9f1d2
Merge pull request #298 from TheBlueMatt/2019-01-271-cleanup
...
Implement serialize/deserialize for Router
2019-01-23 14:48:13 -05:00
Antoine Riard
c7b8c312ce
Implement serialize/deserialize for Router.
...
Extend route_test to check if serialize/deserialize of
NetworkMap works.
Add PartialEq traits on some Router's structs.
Modify also UnsignedNodeAnnouncement serialization
2019-01-23 11:31:37 -05:00
Matt Corallo
8678bda576
Ensure Message always unwraps in fuzztarget
...
Hashes cant be all-0s, so we can normally unwrap, but fuzztarget
can generate all-0 hashes, so we have to handle it and swap for
something else.
2019-01-22 13:49:15 -05:00
Matt Corallo
12d25576c1
Upgrade to secp256k1 v12, bitcoin v16, and crates bitcoin_hashes
2019-01-22 13:49:15 -05:00
Matt Corallo
4f4a5c06d2
Fix Router min HTLC comparison
2019-01-22 12:22:40 -05:00
Antoine Riard
160d63dba0
Track HTLCSource in ChannelMonitor
...
Insert it in current_local_signed_tx, prev_local_signed_tx,
remote_claimable_outpoints. For so get it provided by
Channel calls to provide_latest_{local,remote}_tx
2018-12-13 11:12:07 -05:00
Schalk van Heerden
8d7b498974
Handle-initial_routing_sync-requests-from-peers-in-their-Init-messages
2018-11-09 13:53:13 +10:30
Matt Corallo
4eafd37d20
impl Readable/Writable for Route
2018-10-27 09:42:04 -04:00
Matt Corallo
c662dd3e94
Fix XXXs that slipped into router and handle HTLCFailCHannelUpdates
2018-10-24 00:44:15 -04:00
Yuntai Kyong
ba30061c87
Add is_permanent field to ChannelClosed message and add NodeFailure
...
message
2018-10-23 10:30:49 -04:00
Matt Corallo
6e1318b0e2
Make docs look nicer by adding explicit spacing
2018-09-20 12:58:10 -04:00
Matt Corallo
3aeec96470
Add module and all-pub-things docs and deny missing docs
2018-09-19 23:07:02 -04:00
Matt Corallo
c91f72c131
Drop MsgEncodable in favor of default fns on Writeable
2018-09-16 14:33:50 -04:00
Matt Corallo
227c1d21bc
Handle partial-response UTXO impls or reorgs in chan_announcements
...
Mostly to add a big comment noting why we aren't "spec-compliant"
2018-09-04 22:56:25 -04:00
Matt Corallo
3b4c1a3662
Util-func channel removal (fixing a bug in HTLC failure updates)
2018-09-04 22:56:25 -04:00
Matt Corallo
91b23a0754
Reject rumors of channels that are from one node back to itself
2018-09-04 22:56:25 -04:00
Antoine Riard
4b4d8b6b9e
Add test_invalid_channel_announcemnt + test utilities
...
Fix typo
2018-09-03 17:40:12 -04:00
Matt Corallo
187f28db03
Check script_pubkey against expected channel_announcement
2018-09-03 17:40:12 -04:00
Antoine Riard
07ac327f8b
Implement get_chain_utxo and ChainError in
...
ChainWatchInterface to Router check on channel_announcement
Needed for BOLT 7
2018-09-03 17:40:12 -04:00
Antoine Riard
2079fe4ad2
Add ChainWatchInterface in Router
2018-09-03 17:40:05 -04:00
Matt Corallo
f78d7299d6
Also fwd channel_update and node_announcement immediately
...
Not really sure why the API was different for channel_announcement,
but this brings everything in sync.
2018-08-29 18:07:56 -04:00
Matt Corallo
faff5c2da3
Fail parsing node/channel announcements with unknown even features
...
This is required for BOLT 7 compliance
2018-08-29 18:06:06 -04:00
Matt Corallo
0881bf4b74
Correct excess-data handling in ChannelAnnouncement verif in Router
2018-08-29 17:59:25 -04:00
Matt Corallo
11e5975523
Update to rust-secp256k1 v0.11 and rust-bitcoin v0.14
2018-08-23 14:52:43 -04:00
Matt Corallo
5ee88ad9f2
Clean up excess \ns in route debug, use all debug encoders
2018-08-23 14:52:43 -04:00
Antoine Riard
0523403887
Add Display trait on network structs for routing bug track
2018-08-23 14:52:42 -04:00
Matt Corallo
9362450c61
[Router] Remove channels from nodes when the channel is failed
...
Found by fuzzer
2018-08-16 20:51:50 -04:00
Matt Corallo
7c24fea4fe
Handle only-path-overflows-fee in get_route and avoid PubKey::new()
...
Found by fuzzer
2018-08-16 20:51:50 -04:00
Matt Corallo
dde0ac4c29
Fix fee_base_msat overflowing entire fee range in RouteHint
2018-08-16 20:51:50 -04:00
Matt Corallo
0e6f028c3b
Err from get_route if the requested value is more than 21m BTC
...
This fixes a potential overflow panic.
2018-08-16 20:51:50 -04:00
Matt Corallo
2a0ae96fdf
Correct lowest_inbound_proportional_fee deduction in route finding
...
Found cause fuzzer was able to crash us if we don't
2018-08-16 20:51:50 -04:00
Matt Corallo
feb3db5ac8
Fix multiply-with-overflow panic in router
...
Found by fuzzer
2018-08-16 20:51:50 -04:00
Antoine Riard
0029f04fce
Logging interface
...
Implement error, warn, info, debug and trace macros, internally calling
an instance of Logger, and passing it to every main structures
Build-time or client-side filtering.
Issue #54
2018-08-17 00:01:15 +00:00
Savil Srivastava
ca6b44b8cc
replace use of bitcoin::utils::misc::hex_bytes with hex::decode
...
as requested in #84 discussion
https://github.com/rust-bitcoin/rust-lightning/pull/84#discussion_r205508845
2018-07-27 18:19:00 -07:00
Matt Corallo
78023d6fa1
Remove excess mut warned on in 1.22
2018-07-26 15:11:36 -04:00
Matt Corallo
158d0c16dc
Fix fee addition overflow in get_route
2018-07-25 18:10:46 -04:00
Matt Corallo
07f08409f8
Catch fee overflow panic in get_route
2018-07-25 16:25:12 -04:00
Matt Corallo
ad147a20e6
Half-ass some CLTV fixes for real channel creation
2018-07-23 23:31:37 -04:00
Matt Corallo
ccf18e1b47
Short-circuit router for an outbound specified direct channel
2018-07-23 22:00:19 -04:00
Matt Corallo
667cd66ede
Add arg to get_route to specify our local channels explicitly
...
(and a new getter in ChannelManager to get the thing to pass in)
2018-07-23 13:33:00 -04:00
Matt Corallo
0ee7b21819
Skip always iterating over all nodes in get_route
2018-07-23 13:12:39 -04:00
Yuntai Kyong
9679f708dc
add two methods for the issue #56
...
peer_handler::get_peer_node_ids() get connected peers' node_id
router::get_addresses() to get network addresses by node_id
2018-07-22 15:19:20 +09:00
Savil Srivastava
fd141bbed2
[Error] rename msg field to action
...
this was a TODO and also briefly discussed in https://github.com/rust-bitcoin/rust-lightning/pull/43#pullrequestreview-135649551
I'm not fully sure how to remove the `Option`, and make it completely required. Would love suggestions. So, have omitted that for now. Plus, better to make smaller, incremental changes.
Test Plan:
`cargo build`
`cargo test`
2018-07-19 20:01:55 -07:00
Matt Corallo
d7b33fcd84
Support ignoring some errors, deserialize empty flags types
2018-06-16 19:45:32 -04:00
Matt Corallo
8e2974fc2a
HTLC Failure message handling
2018-04-24 11:55:08 -04:00
Matt Corallo
40ab09f627
Clarify roles in failing HTLCs, impl it, support rebalances
2018-03-22 17:35:30 -04:00
Matt Corallo
6185a28190
initial checkin
2018-02-16 18:09:48 -05:00