Douglas Schilling Landgraf
d8e764efa0
contrib: Dockerfile.builder.fedora - remove git clone lightning
...
The original Dockerfile.builder don't build lightning
2018-03-07 16:01:03 +01:00
Douglas Schilling Landgraf
887b5048f1
contrib: Add Dockerfile.builder.fedora
...
The Fedora distro version of Dockerfile.builder
2018-03-07 16:01:03 +01:00
Corné Plooy
b2ce619bcd
Fix order of includes
2018-03-06 19:26:21 +01:00
Corné Plooy
c3a46de129
Fix order of includes
2018-03-06 19:26:21 +01:00
Corné Plooy
dbbc61bc4e
Coding style fix
2018-03-06 19:26:21 +01:00
Corné Plooy
71c39e96f3
Instead of passing the line number behind the '\0' of an artificial command-line argument, store it in a global variable.
...
While it is still a bit of a hack, this makes the code much easier to read.
2018-03-06 19:26:21 +01:00
Corné Plooy
b857b2e843
Add assertions in various places to ensure tal_fmt doesn't receive NULL as argument for strings.
2018-03-06 19:26:21 +01:00
Christian Decker
aba3d5f34d
wallet: Clean up spent UTXOs once they are buried deeply enough
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
8958a082ec
wallet: Mark utxo outpoints as spent
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
50a8e32e3f
db: Add index on utxoset.spendheight to speed up blockchain reorgs
...
Otherwise we would be doing a table scan per block being reorged/rescanned.
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
e44ea0b363
topology: Add new P2WSH outpoints to the wallet utxoset
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
27e0ec694c
wallet: Add primitive to register new utxoset outpoint to the wallet
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
d8d11e5689
wallet: Add outpointfilter for the utxoset
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
ec014be2a8
db: Add utxoset table
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
5a1b4b91e2
wallet: Fix output extraction when we own multiple outputs
...
When we already know about an output we would stop scanning the remaining
outputs. Known outputs happen whenever we extracted from our own transactions
and then extracted again from blocks. We would not update if the first update
fails.
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
ae30942e3f
chaintopo: Record outpoint spends for owned outputs
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
2680e6d9ff
wallet: Move txfilter into wallet
...
Transaction filters are strongly related to the wallet, this move just
makes it a bit more explicit.
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
b3c94a5256
wallet: Update existing owned outputs with their confirmation height
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
7fc06d9b3e
wallet: Add outpointfilter to wallet so we can pass it all outputs
...
Will be used later to filter out outputs we are interested in, and
trigger db updates with them.
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
5fd19483a9
txfilter: Add an outpoint filter
...
This can be used both for our own outputs as well as the utxos we are
tracking.
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
247aa13a58
db: Add index covering the output heights
...
Avoids performing a table scan, now deletes on blocks are a lot
faster.
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
c9985805cd
pytest: Add blockchain tracking test
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
4e2c1dd038
jsonrpc: Add confirmation status to listfunds
output
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
227dc36146
utxo: Add blockheight and spendheight to outputs to track state
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
7f00230657
db: Add confirmation_height and spend_height columns to outputs
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
1aa21498c3
topology: Track blockchain changes in the DB
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
9440b23852
wallet: Add primitive to roll back to a specific height
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
504202973f
wallet: Add primitives to store blockchain internally
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
Christian Decker
fea03dbca9
db: Add a table to track blockheaders
...
Signed-off-by: Christian Decker <decker.christian@gmail.com>
2018-03-06 18:59:27 +01:00
ZmnSCPxj
8e8d7c2aba
pay/sendpay: Use spec names for rhash and r.
2018-03-05 20:21:37 +00:00
Rusty Russell
dace9bfdcf
gossipd: the great renaming.
...
We already have 'struct node', so rename 'struct routing_channel' to
'struct chan', and 'struct node_connection' to 'struct half_chan'.
Other minor changes:
1. rstate->channels -> rstate->chanmap.
2. 'connections' -> 'half'.
3. connection_to -> half_chan_to
4. connection_from -> half_chan_from
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-04 23:25:53 +01:00
Rusty Russell
61bcb054e0
routing: remove redundant fields from struct node_connection.
...
The containing `struct routing_channel` contains src and dst, so
remove them. However, the channel_update msgidx does belong int
`struct node_connection` along with the channel_update.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-04 23:25:53 +01:00
Rusty Russell
172af04247
gossip: remove short_channel_id from struct node_connection.
...
It's in the containing routing_channel.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-04 23:25:53 +01:00
Rusty Russell
21b2f37dfb
routing: return entire routing_channel array from find_route.
...
Returning the separate first routing_channel was a weird API: just
return the entire array. Sure, we have to treat the first node a bit
differently (because we don't charge ourselves fees), but it's still
simpler.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-04 23:25:53 +01:00
Rusty Russell
56349ab008
routing: work with struct routing_channel not struct node_connection.
...
To remove the redundant fields in `struct node_connection` (ie. 'src'
and 'dst' pointers) we need to deal with `struct routing_channel`.
This means we get a series of channels, from which the direction is
implied, so it's a bit more complex to decode. We add a helper
`other_node` to help with this, and since we're the only user of
`connection_to` we change that function to return the index.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-04 23:25:53 +01:00
John Barboza
31b9b6bc1c
clear onchaind subd in channel on error
...
When the subdaemon closes unexpectedly, clear the reference and
update the channel billboard with the description
2018-03-04 16:29:44 +01:00
Jan Sarenik
9b3e8f0bd3
bitcoin.bib: Add Satoshi paper URL and date
...
Date according to Wikipedia which cites other source.
2018-03-04 03:22:32 +01:00
Jan Sarenik
424ca8cf59
doc: Modify README.md code sections
2018-03-04 03:21:59 +01:00
Jan Sarenik
fd338c0689
doc: More plain-text improvements to HACKING.md and INSTALL.md
...
This time the rendered output is slightly different, but mostly
because long preformatted lines are wrapped and contain an extra
continuation backslash now.
2018-03-04 03:21:59 +01:00
Jan Sarenik
960548f311
doc: Reflow HACKING.md and INSTALL.md without textual change
...
See previous commit 9504a77b
for a script to prove there is no
change in the rendered file, just readability plain-text
improvements.
2018-03-04 03:21:59 +01:00
ZmnSCPxj
c03f584e19
test_lightningd.py: Adapt to new help output.
2018-03-03 19:40:22 +01:00
Mark Beckwith
38e94e883f
Improved display of lightning-cli help for humans
...
The display format is now:
command1
description1
command2
description2
.
.
.
2018-03-03 19:40:22 +01:00
Rusty Russell
30faa6485a
subdaemons: copy backtraces to stderr.
...
We didn't get the entire thing in the parent when gossipd crashed: stderr
is suitable for these I think.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-03 19:29:35 +01:00
Rusty Russell
fd9c0c8543
routing: move struct node_connection into struct routing_channel.
...
No need to have pointers since they're always there.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-03 19:29:35 +01:00
Rusty Russell
be14b52423
routing: connections are now never null; simplify.
...
Failure and pruning were the two places where a node_connection could
be freed; now they both deal with entire channels, we can remove the
NULL checks, and the destructor.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-03 19:29:35 +01:00
Rusty Russell
d7b5882f61
routing: don't free a single nc on prune, only entire channel.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-03 19:29:35 +01:00
Rusty Russell
d0f68ffb15
routing: free entire channel, not just node_connection on PERM error.
...
And do it by reparenting onto the tmpctx, restoring some simpliciy.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-03 19:29:35 +01:00
Rusty Russell
00194b6130
handle_disable_channel: don't use get_connection_by_scid.
...
This removes the final user, so we remove it.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-03 19:29:35 +01:00
Rusty Russell
74ee448bda
routing: expose setter for struct node_connection fields.
...
And use it in gossip's handle_local_add_channel.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-03 19:29:35 +01:00
Rusty Russell
1e4959af1f
gossipd: fix case where we get an update on a pruned channel.
...
We discarded it; we should populate it. The comment is wrong, since
local_add_channel() doesn't add public channels, and we test that above.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-03-03 19:29:35 +01:00