ZmnSCPxj
1f6008689d
payalgo: Throttle pay command if failure is due to blockheight disagreement.
2018-03-03 18:19:53 +01:00
John Barboza
b50912d8b1
Print node alias when listing peers
2018-03-02 02:25:30 +00:00
Rusty Russell
c5d41a23d7
short_channel_id: just use structeq.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-01 23:33:56 +01:00
Rusty Russell
042d5d13f5
short_channel_id: don't use bitfields.
...
I leave all the now-unnecessary accessors in place to avoid churn, but
the use of bitfields has been more pain than help.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-01 23:33:56 +01:00
Igor Cota
cb6820d445
Do preimage, hash and consequentially bolt11 generation before we store the invoice in db.
...
This way we store bolt11 to the table as well, in case a client needs it later
2018-03-01 03:55:48 +00:00
Christian Decker
a90502d917
jsonrpc: Refuse to forget a channel with an open HTLC
...
... instead provide useful suggestions as to how to close it.
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-01 03:50:50 +00:00
Christian Decker
aef5780f36
htlc: Extracted htlc detection from the channel destructor
...
Let's have a simple function that allows us to check whether a channel
still has an HTLC open.
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-01 03:50:50 +00:00
Corné Plooy
f32ebb7dca
Indentation fix.
2018-02-28 21:21:25 +01:00
Corné Plooy
1e879de89e
json-rpc: connection_complete_ok and json_command_malformed should never receive NULL arguments. Pass "null" instead, where needed.
2018-02-28 21:21:25 +01:00
Corné Plooy
d86ad15b53
json-rpc: translate NULL into "null" instead of "(null)".
2018-02-28 21:21:25 +01:00
practicalswift
dbb7ea1e41
Adjust log level for logging disconnected RPC users ("Command failed after jcon close")
...
This is a follow-up to #1121
2018-02-28 11:38:22 +01:00
ZmnSCPxj
978e5c67d8
invoices: Remove persistent in-memory invoice structures.
2018-02-28 11:17:08 +01:00
ZmnSCPxj
f05c86618c
invoices: Change iteration interface to be more abstract.
2018-02-28 11:17:08 +01:00
ZmnSCPxj
9b4c6699f9
invoices: Semantically separate invoice details from invoice.
...
In preparation for removing in-memory invoice structures.
Invoice details are requested rarely anyway.
2018-02-28 11:17:08 +01:00
practicalswift
a20cf5463d
Adjust log level for logging disconnected RPC users ("Abandoning command" + "Command returned result after jcon close")
...
The following command can be used to trigger these messages:
```
$ timeout 0.01 cli/lightning-cli connect [insert-syntactically-valid-peer-id-here] 123.123.123.123 # where 123.123.123.123 is unreachable
```
2018-02-28 01:53:52 +00:00
ZmnSCPxj
73cda2f2ae
payalgo: Report route, and result of trying route.
2018-02-27 13:38:32 +01:00
ZmnSCPxj
21cfec816d
payalgo: Report number of tries on failure.
2018-02-27 13:38:32 +01:00
ZmnSCPxj
6c9d81ef42
payalgo: Remove reporting PAY_TRY_ANOTHER_ROUTE and PAY_UNPARSEABLE_ONION.
...
These error codes will cause `pay` to retry, so `pay` will never
actually report those error codes.
Those error codes will only get reported at the `sendpay` level.
2018-02-27 13:38:32 +01:00
Rusty Russell
b7ed5670d5
lightningd: close and reopen db across fork for daemonize
...
Fixes : #1092
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-27 00:09:34 +01:00
Rusty Russell
cf3f19524e
gossip: formalize passing of siphash_seed.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-26 06:35:02 +00:00
ZmnSCPxj
f7f55edcdb
wireaddr: Do hostname resolution in parse_wireaddr.
...
Fixes : #834
2018-02-26 03:13:55 +00:00
ZmnSCPxj
bd07a91782
jsonrpc: Let Base58 '2..' address work on both regtest and testnet.
2018-02-26 03:09:15 +00:00
John Barboza
b028a0a439
invoice: add fallback address to invoice command
...
* Modifies invoice command to have the following format
invoice <msatoshi> <label> <desc> <?expiry> <?fallbackaddr>
* Adds support for Segwit bcrt1 addresses for withdraw
* Add test case for fallback address in invoice creation
* Create a common json_tok_address_scriptpubkey to be used
by invoice and withdraw commands.
2018-02-26 03:09:15 +00:00
ZmnSCPxj
d23650d2ed
Explain fuzz initial values.
2018-02-26 02:36:27 +00:00
ZmnSCPxj
2db6ff9186
gossip_control: Change defult fuzz of getroute to 75%.
2018-02-26 02:36:27 +00:00
ZmnSCPxj
6767434ea9
routing: Use siphash24 for route randomization
...
Primary idea by @rustyrussell
2018-02-26 02:36:27 +00:00
ZmnSCPxj
61d0b50c54
payalgo: Randomize paths as long as we respect maxfeepercent.
2018-02-26 02:36:27 +00:00
ZmnSCPxj
9693843141
payalgo: Change sendpay_parent to try_parent.
...
Now try_parent is used as the parent for all allocations needed
for a try.
2018-02-26 02:36:27 +00:00
ZmnSCPxj
216c52940d
gossipd: Add fuzz and seed to getroute request.
2018-02-26 02:36:27 +00:00
ZmnSCPxj
2b782ee436
gossip_control: Add fuzz and seed parameters.
...
In preparation for improved route randomization.
2018-02-26 02:36:27 +00:00
ZmnSCPxj
e34be575aa
lightning/peer_control.h: Minor cleanup of nonexistent functions.
2018-02-25 20:41:50 +00:00
Rusty Russell
50171d3e1a
lightningd: add --bitcoin-cli arg for testing.
...
And remove unused bitcoin_datadir and BITCOIN_CLI.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-24 10:37:28 +01:00
Rusty Russell
f0a12c5c23
bitcoind: retry after one second if a call fails.
...
There are two recurring calls: the estimatefee call and the
getblockcount call. Currently we simply discard them on error, the
timer isn't rearmed.
This should fix a number of cases where bitcoind has an intermittant
failure and lightningd simply stops collecting blocks.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-24 10:37:28 +01:00
Rusty Russell
0204c44243
bitcoind: allow processing callbacks to indicate that a failure is spurious.
...
In particular, process_getblockhash() exits with status 8 when the block
number is out of range, which is expected. Any other exit status should
be treated as a spurious error.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-24 10:37:28 +01:00
Rusty Russell
cccdb53bec
channel_states: fold all the ONCHAIND states into one.
...
The billboard is now far more useful to tell what's going on, and this
gets us closer to a state == owner mapping.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-23 18:02:00 +01:00
Rusty Russell
8aa7a48138
listpeers: display billboard as 'status' array.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-23 18:02:00 +01:00
Rusty Russell
cca0a5412e
subd: clear transient billboard on start and shutdown.
...
Use NULL on the callback to mean "clear the slot", and call it.
We have do this in two places: the old daemon might die, or the new
daemon might start first.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-23 18:02:00 +01:00
Rusty Russell
26b004e5af
subd: handle status_peer_billboard messages from subdaemons.
...
We use a callback which updates the appropriate slot.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-23 18:02:00 +01:00
Rusty Russell
db4de95033
lightningd: single transient billboard for opening peers.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-23 18:02:00 +01:00
Rusty Russell
86a04c59d4
lightningd: maintain a status billboard for each channel.
...
Each state (effectively, each daemon) has two slots: a permanent slot
if something permanent happens (usually, a failure), and a transient
slot which summarizes what's happening right now.
Uncommitted channels only have a transient slot, by their very nature.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-23 18:02:00 +01:00
Christian Decker
6f6176a91e
options: Add --offline
to disable listening and auto-reconnection
2018-02-23 06:30:15 +00:00
Rusty Russell
85f1a9b825
lightningd: append (as much as we can) version into default name if DEVELOPER=1
...
This helps for bug reporting, where we may need to diagnose the other
end.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-22 12:24:26 +01:00
practicalswift
1b51b5ae0f
Remove unused parameter topo in txw_fire(struct chain_topology *topo, ...)
2018-02-22 10:46:30 +01:00
practicalswift
0046ace318
Remove unused parameter topo in txowatch_fire(struct chain_topology *topo, ...)
2018-02-22 10:46:30 +01:00
practicalswift
74841ef567
Remove unused parameter payment_hash in forward_htlc(..., const struct sha256 *payment_hash, ...)
2018-02-22 10:46:30 +01:00
practicalswift
d873bf60bf
Remove unused parameter fieldname in json_add_log(..., const char *fieldname, ...)
2018-02-22 10:46:30 +01:00
practicalswift
2ab274595e
Remove unused parameter ptr in corrupt(const void *ptr, ...)
2018-02-22 10:46:30 +01:00
practicalswift
f24eae60b7
Remove unused parameter why in delete_channel(..., const char *why)
2018-02-22 10:46:30 +01:00
practicalswift
f15868a94d
Remove unused function json_dev_broadcast(...)
2018-02-22 09:45:22 +00:00
Rusty Russell
b536e97df2
dev_ping: don't crash with silly values.
...
It's a dev command, but still.
Fixes : #985
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-02-22 01:10:09 +00:00