Rusty Russell
a0ac5c276e
status: API for status reporting.
...
The API formalizes how daemons should report their statuses back to
the main lightningd. It's a simple write API, which includes tracing
support (currently it always sends traces, later it could send iff
there's a failure, for example).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-10 15:24:20 +10:30
Rusty Russell
42f474af18
wire: make lengths of variable fields implied by tal_count()
...
This is a much nicer interface, and works better in practice too.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-10 15:19:25 +10:30
Rusty Russell
7b1a4fc765
utils: add tal_hex() helper.
...
This is a shortcut when the data being dumped is a tal array.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-10 15:19:25 +10:30
Rusty Russell
4a233090ae
log: rename struct log_record to struct log_book.
...
I think "log entry" when I see "log record", so this name is better.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-10 15:18:26 +10:30
Rusty Russell
350d8edb7e
log: don't include dstate any more.
...
Before we had a global secp256k1_ctx we needed to hold this to print
out pubkeys, now it's completely orthogonal.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-10 15:17:51 +10:30
Christian Decker
af43cc5e2c
makefile: Be more verbose in check-daemon-headers
...
So far it was failing silently, now it diffs the Makefile state
against the directory listing. This also fixes a bug when the locale
was not set the sort order would not match.
2017-01-10 09:26:06 +10:30
Rusty Russell
b59fe5a2b6
daemon/Makefile: objects depend on wire headers too.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-06 13:23:50 +10:30
Christian Decker
96af89139e
base58: Unittests need in-tree libbase58
2017-01-05 12:12:30 +10:30
Lucas Betschart
3e6bb958eb
Add libbase58 as git submodule
...
Pointing to the latest release (0.1.4)
2017-01-05 12:11:18 +10:30
Rusty Russell
bdc4972df6
wire/gen_peer_wire_csv: update to latest spec #2
...
828eda61df5a7be27051c605f7808e4f690739e4, in particular, it has the
new address format for node_announcement.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:09:21 +10:30
Rusty Russell
d3bdb073b5
wire/gen_peer_wire_csv: update to latest spec #1
...
In particular, add features bitfields.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:09:21 +10:30
Rusty Russell
bdaa22e247
generate-wire.py: allow NULL len parameter from fromwire_*
...
It implies tal_count() gives the length. Great for almost all callers which
don't care if there are extra bytes.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:09:21 +10:30
Rusty Russell
e076d56709
generate-wire.py: include type bytes in towire/fromwire routines.
...
This removes some redundancy in creating messages, but also allows
a lazy form or parsing without explicitly checking the type.
A helper fromwire_peektype() is added to look up the type and handle
the too-short-for-type problem.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:09:21 +10:30
Rusty Russell
c864b28068
generate-wire.py: don't generate structures, hand in all values.
...
This is a bit more awkward for large structures, but avoids
indirection for the simpler ones (I copied the structures for the test
code, however). We also remove explicit padding.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:09:20 +10:30
Rusty Russell
a08a2105ea
generate-wire.py: generalize, move to tools.
...
We're going to want to use this for inter-daemon comms, so generalize it.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:09:20 +10:30
Rusty Russell
b7789bf065
Makefile: generalize whitespace check.
...
Spread to individual Makefiles, and include headers.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:09:20 +10:30
Rusty Russell
0861ec33a5
check-source-bolt: generalize.
...
This way sub-Makefiles can add their own files to check.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:09:20 +10:30
Rusty Russell
c2cc164d6d
daemon: disable old BOLT checks.
...
This is useful for the next patch.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:09:20 +10:30
Rusty Russell
05feefbb8a
test: move mockup script outside daemon/
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:09:20 +10:30
Rusty Russell
d30b67a3fe
test: generalize update-mocks
...
So we can use it in other directories.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:09:20 +10:30
Rusty Russell
dec3b9d030
peer: don't ever set up listener on dynamic port.
...
Simplifies the logic somewhat.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:09:15 +10:30
Rusty Russell
12b30ab4fc
jsonrpc: register base on linkage.
...
Other than being neater (no more global list to edit!), this lets the
new daemon and old daemon have their own separate routines.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:08:15 +10:30
Rusty Russell
c7b69abdaa
type_to_string: move formatting to appropriate files.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:07:15 +10:30
Rusty Russell
f8eb454139
type_to_string: move pretty printing of types from log
...
It's not just useful for logging.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:05:15 +10:30
Rusty Russell
756b2a0530
options: --help and --version are early args.
...
If they use these, we definitely don't want to create the config dir...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:04:15 +10:30
Rusty Russell
93471e06c1
options: return true if we created new directory.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:03:15 +10:30
Rusty Russell
038ef0250a
options: move option and config code into its own file.
...
For the moment, the new lightningd will share all this anyway.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 13:22:29 +10:30
Rusty Russell
ca4d03aa2a
lightningd_state: move invoices into separate structure.
...
It's all maintained by invoice.c, so make it private to that.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 13:18:47 +10:30
Christian Decker
570003235e
gossip: Fixing minor issues
...
Thanks @rustyrussell for the review ^^
2017-01-03 15:08:05 +10:30
Christian Decker
95bc8f6987
gossip: Removing origin from staggered broadcast
...
Keeping a pointer to the peer that initially sent us a message
could (actually will!) result in dangling pointers. Removing this
results in some additional messages, which will be discarded by the
recipient, so that should not be a problem.
2017-01-03 15:08:05 +10:30
Christian Decker
0ed23c46a9
gossip: Implemented routing table sync with newly connected peers
2017-01-03 15:08:05 +10:30
Christian Decker
5ce1f7c2f3
gossip: Set announce timeout to 5 hours
2017-01-03 15:08:05 +10:30
Christian Decker
71a18fdd2e
gossip: Trigger announce on channel establishment
...
Since we ultimately want to have a very long re-announcement timeout
we better trigger an announcement upon channel state change to normal.
2017-01-03 15:08:05 +10:30
Christian Decker
e54c0adced
gossip: Do not consider half-open connections for routes
...
Connections are in a half-open state after receiving the
`channel_announcement` and before the `channel_update` makes them
usable, so we need to ignore channels that are not yet fully open.
2017-01-03 15:08:05 +10:30
Christian Decker
611f4833c5
gossip: Implemented the staggered broadcast
2017-01-03 15:08:05 +10:30
Christian Decker
fca9bf1a16
gossip: Partially sign channel_announcements
...
We can already add our own signatures, will have to defer remote
signatures until we implement the channel setup messages from the spec.
2017-01-03 15:08:05 +10:30
Christian Decker
d93ce12afa
gossip: Broadcasting and handling gossip messages
2017-01-03 15:08:05 +10:30
Christian Decker
e8d68757f6
gossip: Tracking tx index in topology
...
The txlocator was reporting the index in the purged array of
transactions instead of the index in the original block.
2017-01-03 15:08:05 +10:30
Christian Decker
57d5ae96a4
routing: Added channel_id and directions to connections
...
The gossip protocol spec refers to channels by their `channel_id` and
a direction. Furthermore, inbetween the `channel_announcement` and the
`channel_update` for either direction, the channel direction is in an
undefined state and cannot be used, so added the `half_add_connection`
function and an `active` flag to differentiate usable connections from
unusable ones.
2017-01-03 15:08:05 +10:30
Christian Decker
db481d881a
proto: Added handling for nested packets
2017-01-03 15:08:05 +10:30
Rusty Russell
a44e4fb631
daemon/json, test/test_protocol: avoid gcc -O warnings.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-15 11:49:51 +10:30
Rusty Russell
e109977df7
peer: don't print uninitialized commit_num.
...
Reported-by: Lucas Betschart <lucasbetschart@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-15 11:44:48 +10:30
Rusty Russell
2a68a984c3
peer: fix unassigned error packet on receiving non-ASCII error.
...
Reported-by: Lucas Betschart <lucasbetschart@gmail.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-15 11:42:24 +10:30
Rusty Russell
1b170c85bb
Revert "Fix -Wsometimes-uninitialized and -Wuninitialized"
...
This reverts commit ff9cdda4fa
.
These are real bugs, so I prefer to fix them explicitly.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-15 11:41:31 +10:30
Lucas Betschart
900ab78d46
Fix -Wtautological-constant-out-of-range-compare
2016-12-14 08:47:21 +01:00
Lucas Betschart
ff9cdda4fa
Fix -Wsometimes-uninitialized and -Wuninitialized
2016-12-14 08:45:40 +01:00
Lucas Betschart
c163fe04ac
Fix -Wenum-conversion
2016-12-14 08:43:48 +01:00
Lucas Betschart
33d6cbe6bc
Fix -Wgnu-variable-sized-type-not-at-end
2016-12-14 08:41:30 +01:00
Rusty Russell
45ec071e58
lightningd: remove whitespace failing make check-source.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-05 14:03:06 +10:30
Rusty Russell
36c8fc7ef8
lightningd: remove secpctx
...
Use the global in the few remaining places.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-02 18:13:27 +10:30