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
66023b7886
Update NodeAnnouncement addr deserialization to check addr len.
...
This more aggressively checks the message contents are correct
before returning WrongLength so existing fuzz setup has an easier
time.
2018-07-25 15:57:36 -04:00
Matt Corallo
d4bb39a1dd
Ensure all msg deserialization can provide extra bytes, rename err
2018-07-25 15:56:46 -04:00
Matt Corallo
d7c1cfcc22
Make claim_funds_INTERNAL private
2018-07-24 22:33:12 -04:00
Matt Corallo
bdd77ae1fa
Do not pass DisconnectPeer events upstream to the client
2018-07-24 22:33:12 -04:00
Matt Corallo
af5c6e8186
PendingHTLCsForwardable really should just be upstreamed.
...
This is just a comment/docs/function rename change
2018-07-24 22:33:10 -04:00
Matt Corallo
b8b7cb238d
Convert fee API to per_kw instead of per_vb
...
This (a) cuts down a bit on some conversions, reducing chances for
bugsand (b) provides greater accuracy for clients.
2018-07-24 20:34:56 -04:00
Matt Corallo
d61abf6c04
Fix HTLC exclusion balance calculation criteria
2018-07-24 15:11:38 -04:00
Matt Corallo
ad147a20e6
Half-ass some CLTV fixes for real channel creation
2018-07-23 23:31:37 -04:00
Matt Corallo
12a55ae6fc
Set associated_data to payment_hash
2018-07-23 22:47:36 -04:00
Matt Corallo
ccf18e1b47
Short-circuit router for an outbound specified direct channel
2018-07-23 22:00:19 -04:00
Matt Corallo
ab22bed7ed
Fix OOM crash in ChannelMonitor::deserialize found by AFL
2018-07-23 15:01:25 -04:00
Antoine Riard
20fa9d331d
Add DisconnectPeer events
...
Add test for DisconnectPeer event
Update DisconnectPeer with optional ErrorMessage
Manage error for funding_transaction_generated
Add disconnect_socket to SocketDescriptor trait
2018-07-23 14:31:44 -04:00
Antoine Riard
1c12e83941
Implement ErrorMessage msg and ErrorAction::SendErrorMessage + fuzz test
2018-07-23 14:31:44 -04:00
Matt Corallo
fa9715dccf
Merge pull request #77 from TheBlueMatt/2018-07-route-tweaks
...
Add arg to get_route to specify our local channels explicitly
2018-07-23 13:57:00 -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
Matt Corallo
b9562b89c2
Merge pull request #76 from TheBlueMatt/2018-07-75-dangling-spaces
...
Remove dangling spaces from #75
2018-07-23 10:36:20 -04:00
Matt Corallo
ac941e19c9
Remove dangling spaces from #75
2018-07-22 23:54:30 -04:00
Matt Corallo
00bedd0a10
Merge pull request #75 from TheBlueMatt/2018-07-68-rebased
...
[msgs::ChannelReestablish] implement encoding and decoding
2018-07-22 23:53:08 -04:00
Savil Srivastava
0c1f47807a
[msgs::ChannelReestablish] implement encoding and decoding
...
Summary:
Implementing these, taking inspiration from the surrounding code since i'm a rust n00b.
Test Plan:
```
cargo build
cargo test channel_reestablish
```
output:
```
running 3 tests
test ln::msgs::tests::encoding_channel_reestablish_with_secret ... ok
test ln::msgs::tests::decode_channel_reestablish_bad_length ... ok
test ln::msgs::tests::encoding_channel_reestablish_no_secret ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 14 filtered out
```
2018-07-22 23:26:47 -04:00
Matt Corallo
7b4f382e26
Move shutdown sending to an event
2018-07-22 23:22:15 -04:00
Matt Corallo
e93c9fbeaf
Migrate all Uint256s used for channel_ids to [u8; 32]
2018-07-22 18:55:20 -04:00
Matt Corallo
456323886b
Merge pull request #71 from TheBlueMatt/2018-07-watch-funding
...
Ensure the funding transaction is registered to be monitored
2018-07-22 17:54:50 -04:00
Matt Corallo
896f5b8d91
Fix failure sending FundingLocked for non-announced channels
2018-07-22 17:11:20 -04:00
Matt Corallo
88c301cf08
Test transaction watch registration in channelmonitor tests
2018-07-22 13:59:11 -04:00
Matt Corallo
a611ae4741
Ensure the funding transaction is registered to be monitored
2018-07-22 13:59:11 -04:00
Matt Corallo
951c1d4145
Clarify get_peer_node_ids docs a bit
2018-07-22 13:11:58 -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
Matt Corallo
372a80308b
Merge pull request #65 from TheBlueMatt/master
...
Bump version for API overhauls, update deps and docs
2018-07-19 23:31:37 -04:00
Matt Corallo
4afb0d85fa
Merge pull request #53 from savil/rename-error-msg-to-action
...
[HandleError] rename msg field to action
2018-07-19 23:30:28 -04:00
Matt Corallo
de523c4ca3
Merge pull request #47 from ariard/block_disconnected_close_chan
...
Implement channel closing for block_disconnected on ChainListener + test
2018-07-19 23:05:22 -04:00
Savil Srivastava
14c02c0652
update TODO message for renaming "msg" field of HandleError struct
2018-07-19 20:01:55 -07: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
7098ca3375
Make some more things pub(crate) as they don't need exposed now
2018-07-19 22:54:45 -04:00
Antoine Riard
1b8544fd5d
Implement channel closing for block_disconnected on ChainListener + test
2018-07-20 02:37:05 +00:00
Matt Corallo
68e6beab7c
Expose the script_pubkey being monitored in chain watch ( fixes #44 )
2018-07-19 22:22:14 -04:00
Matt Corallo
b02176c86b
Fix various spec bugs, can now open channels with real nodes!
...
* commitment transaction number, as used in locktime/sequence
fields is actually different from commitment transaction number,
as used for revocation state. This is confusing and never stated
in the spec, so we have to do the conversion.
* max_htlc_value_in_flight is never constrained in the spec, but
we were requiring it be <= channel size. Instead just clamp the
values the peer sends us when storing.
* channel_id calculation was incorrect, we now do some crazy
conversion hops, which we shouldn't, but will need to change our
types to fix.
* Our channel_reserve_satoshis value was too low, just change the
constant and leave the TODO to figure out what it really should
be for now.
2018-07-19 17:25:47 -04:00
Matt Corallo
73932d75dc
Merge pull request #49 from ariard/bad_failure_codes
...
Erroneous failure codes, replace PERM|7 by UPDATE|7
2018-07-18 16:55:06 -04:00
Matt Corallo
4f644f225c
Fix channelmonitor fuzz test failure
2018-07-18 13:36:31 -04:00
Antoine Riard
584ad11c1d
Erroneous failure codes, replace PERM|7 by UPDATE|7
2018-07-18 02:47:54 +00:00
Matt Corallo
0b82f5584f
Test channelmonitor serialization roundtrip doesn't mutate state
2018-07-17 14:59:29 -04:00
Matt Corallo
0553945e21
Implement channelmonitor (de)serialization ( fixes #45 )
2018-07-17 14:39:50 -04:00
Matt Corallo
9df3053575
Clarify ChannelMonitor remote commitment tracking and fix a race
2018-07-17 12:47:54 -04:00
Matt Corallo
a48fd6ddfa
Move channelmonitor-update functions to pub(ln) from pub
2018-07-17 12:47:54 -04:00
Antoine Riard
f5b48104dd
TODO already cleaned by #16
2018-07-13 02:51:45 +00:00
Matt Corallo
c47525cb84
Move open_channel message handling into an event
...
This simplifies client usage cause peer_handler doesn't have an
interface to shove arbitrary messages in.
2018-07-06 17:31:01 -04:00
Matt Corallo
e98e1e2fdc
Add warning about aut-close()-fd-races for peer_handler impls
2018-07-03 11:26:49 -04:00
Jean Pierre Dudey
6707db6eae
Add MAX_FUNDING_SATOSHIS
constant.
...
This constants defines the maximum value of `open_channel.funding_satoshis`,
currently it's defined to be 2^24 according to the BOLT #2 specification.
Also a test was added to check that the constant is never over 2,1x10^15
(maximum satoshis in bitcoin) if modified.
Signed-off-by: Jean Pierre Dudey <jeandudey@hotmail.com>
2018-06-30 11:13:18 -04:00