Christian Decker
fa6e53bb08
Move short_channel_id primitive into bitcoin
...
Not really a bitcoin primitive but the place where we keep all the
small stuff currently.
2017-08-10 12:34:58 +09:30
Christian Decker
df056e5973
bitcoin: Added chainparams grouping blockchain specific parameters
2017-07-12 11:30:23 +09:30
Rusty Russell
7dce850844
Makefile: wallet objects depend on sodium headers, too.
...
Noticed a build failure from a fresh git clone.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-07-12 10:21:16 +09:30
Christian Decker
a53acb7877
make: Explicitly set cc compatibility
...
This is apparently necessary to build `lightningd` on debian jessie,
which uses an older gcc version.
2017-07-07 10:15:02 +02:00
Rusty Russell
122598dffc
Makefile: use -f with pytest, to exit on first failure.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-06-23 09:29:42 +09:30
Christian Decker
80436d06cb
wallet: Create and manage a sqlite3 database for the wallet
2017-06-06 09:16:10 +09:30
Rusty Russell
f61da7eb64
tests/test_lightningd.py: incorporate everything from old test-basic shell test.
...
This moves all the non-legacy blackbox testing into python.
Before:
real 10m18.385s
After:
real 9m54.877s
Note that this doesn't valgrind the subdaemons: that patch seems to cause
some issues in the python framework which I am still chasing.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-04-29 10:30:10 +02:00
Rusty Russell
0e6667f3b2
pytest: fix dependencies
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-04-29 10:30:10 +02:00
Christian Decker
67315be673
travis: Simplified build script
...
The Dockerfile is now stored in contrib and built using the Docker
Hub. This allows us to simply pull in the finished image from the hub
instead of having to build it ourself. Should shave off about 2
minutes from the build time.
I also switched to running the individual build and check steps in
their own containers, but on the same volume, so travis can group the
commands and run them independently.
2017-04-29 10:29:44 +09:30
Christian Decker
e603dba14a
sphinx: Fixing makefile for test_sphinx and using lightningd version
2017-04-28 13:40:43 +09:30
Rusty Russell
27764b65f9
lightningd: fix shachain to be 48-bits, with hack for legacy.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-04-01 23:59:46 +10:30
Rusty Russell
4bf398c4e7
status: move into lightningd/status.
...
It's really a lightningd-only thing, and we're about to do surgery on it.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-03-20 07:50:53 +10:30
Rusty Russell
c6f568dbde
Makefile: fix distclean, clean targets.
...
libwally's tools/cleanup.sh doesn't actually remove files if it can't
run make, so do that manually. Also clear some other cruft.
Also, we weren't deleting wire/gen_onion_wire.c in "make clean".
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-03-02 22:51:39 +10:30
Christian Decker
7ac7a6a47e
cleanup: Ignoring libwally artifacts and distclean cleans them
2017-02-27 23:14:43 +01:00
Rusty Russell
fb93503e6d
Makefile: fix libsodium build
...
eg:
gcc: error: libsodium.a: No such file or directory
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-02-21 15:15:28 +10:30
Rusty Russell
1271ac8899
libwally-core: import version 3b025127cbf11912f8b95e7ff3c905d74e8433ce
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-02-21 15:15:28 +10:30
Rusty Russell
c6997f15c7
bitcoin/preimage: struct preimage.
...
We had a hack for 'struct rval' in protobuf_convert.h; make an
explicit header and put it in bitcoin/preimage.h. It's not really
bitcoin-specific, but it's better than having bitcoin/script depend on
an external header.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-02-02 14:48:00 +10:30
Rusty Russell
a02f1e10c4
make check: run all the tests.
...
We can't run them in parallel, but we can at least have 'make check'
run them all.
Developers should be running "make check-source && make check".
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-02-02 14:48:00 +10:30
Christian Decker
05cf3160d4
ccan: Added ccan/intmap
2017-02-02 11:29:47 +10:30
Christian Decker
7cc5e2fc7a
pytest: Added pytest target to Makefile
2017-01-23 10:45:36 +10:30
Rusty Russell
69079e51a9
doc: move Makefile parts into doc/
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-23 10:38:42 +10:30
Rusty Russell
df59cef3af
doc: rename waitinvoice manpage to waitanyinvoice.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-23 10:28:32 +10:30
Rusty Russell
73d07ce441
libsodium: use our local submodule.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-11 10:04:26 +10:30
Rusty Russell
015eb072b8
Makefile: split CORE_SRC into CORE_SRC, CORE_TX_SRC and CORE_PROTOBUF_SRC
...
With the lightningd daemon split, we don't need them all.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-10 15:38:33 +10:30
Rusty Russell
8bf33c7839
lightningd/lightningd: daemon for controlling the other daemons.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-10 15:37:51 +10:30
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
Christian Decker
07fbeee29d
coverage: Added coverage
makefile target
...
Added coverage files to `clean` and `coverage` target to generate HTML
report of coverage.
2017-01-10 09:27:55 +10:30
Christian Decker
bd6b9c377e
coverage: Enable compilation with --coverage
...
Setting the environment variable `COVERAGE=1` allows us to turn
coverage measurements on. This produces a number of auxiliary gcno and
gcda files which can then be converted into coverage reports.
I know line coverage and branch coverage is not a perfect metric, but
it might get us some more visibility into where more tests might be
needed.
2017-01-10 09:27:55 +10:30
Rusty Russell
a6f98ad02b
Makefile: wire objects also depend on CCAN headers.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-05 12:11:18 +10:30
Rusty Russell
9df0aa7538
libbase58: add autosubmodule rule, move depends to bitcoin/Makefile
...
The object file should not be built inside the submodule, as that can
confuse git.
Not everything depends on the libbase58 header (CCAN doesn't), so
move that to the everything-else depends line.
The BITCOIN_SRC etc should also move to bitcoin/Makefile, but that's
a bigger change.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-05 12:11:18 +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
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
751a0ae5cf
check-whitespace: make it quieter.
...
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
b4f495fe99
check-source-bolt: don't try to check out if BOLTVERSION is empty or unset.
...
This lets you test against your local version, using:
make check-source BOLTVERSION=
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 14:09:20 +10:30
Rusty Russell
6dc7056625
check-bolt: use new BOLTs.
...
The structure is slightly different, so this requires some fixes.
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
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
59ecb3dfea
Makefile: don't include tests in TAGS.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 13:17:47 +10:30
Rusty Russell
f8344baf64
ccan: update, new modules.
...
ccan/autodata, ccan/breakpoint, ccan/crypto/hmac_sha256, ccan/crypto/hkdf_sha256,
ccan/fdpass and ccan/io/fdpass.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2017-01-04 13:16:47 +10:30
Rusty Russell
1f447688bc
test: make generic driver for unit tests.
...
Not just in daemon. This fixes 'make check' when it tries to
run 'make wire-tests'
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-02 18:10:13 +10:30
Christian Decker
e40509c6c3
wire: Linking against wire objs
2016-12-01 13:50:02 +10:30
Rusty Russell
36e018161f
wire: generate marshal/unmarshal from spec.
...
Including tests!
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-12-01 13:50:02 +10:30
Rusty Russell
f85f2c6c2d
0.5.2: Fixes and change IRC server.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-21 10:39:13 +10:30
Rusty Russell
88837c20ca
Makefile: pass CC through to libsecp256k1 build.
...
For CC="gcc -m32" in particular.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-16 13:59:20 +10:30
Rusty Russell
0d7f6ce25b
check-whitespace: add to check-source.
...
We don't check submodules (daemon/jsmn), or imported files (ccan/ secp256k1/)
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-11 09:36:10 +10:30
Rusty Russell
f5c00deec7
Remove trailing whitespace from source.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-11 09:32:04 +10:30
Rusty Russell
98910c03f2
check-source: add version to BOLTDIR.
...
This allows us to have different rfcs in different branches, which we're
going to need soon.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-11 09:12:39 +10:30
Rusty Russell
700c536a27
Makefile: remove all the old Elements Alpha support.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-10 23:30:35 +10:30
Rusty Russell
d77d5edc07
Makefile: clean gen_ files and ccan/config in make clean.
...
Not on maintainer-clean; they don't need special tools.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-09 08:04:27 +10:30
Rusty Russell
49809785ca
state.h state_types.h: move into daemon/
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-09 08:04:27 +10:30
Rusty Russell
fd6c3ce5a3
names: move into daemon/
...
It was already only referred from that Makefile.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-09 08:04:27 +10:30
Rusty Russell
ec072b5d68
gen_pkt_names, gen_state_names: move into daemon/
...
That's where they're used.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-09 08:04:27 +10:30
Rusty Russell
e40f864567
lightning.pb-c.c lightning.pb-c.h: don't generate if unchanged.
...
Just like man pages, git can mess us up here.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-11-08 22:00:55 +10:30
Rusty Russell
6da448b797
0.5: Bitcoin Savings & Trust Daily Interest
...
Glenn Willen filed plenty of bug reports; he got to name this release.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-10-19 12:12:26 +10:30
Christian Decker
d30f3f1a40
sphinx: Remove obsolete onion implementation
2016-10-16 16:40:54 +02:00
Christian Decker
7bb5c279a8
sphinx: Implemented sphinx onion routing
...
Implements a spec-compliant sphinx onion routing format. The format has
been cross-checked with the go implementation
cdecker/lightning-onion@b9e117e .
2016-10-16 16:40:43 +02:00
Rusty Russell
766249ec2b
Makefile: don't regenerate manpages unless they've really changed.
...
This is terribly ugly :(
Closes : #36
Reported-by: Glenn Willen
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-10-07 13:57:57 +10:30
Rusty Russell
4fcdf6de5c
irc: fix check-source.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-10-07 13:56:57 +10:30
Rusty Russell
5b3bde715a
getinfo: add version information
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-09-14 05:28:51 +09:30
Rusty Russell
c648897695
Makefile: clean up ccan-enumstr object for make clean.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-09-08 15:57:33 +09:30
Rusty Russell
2452df315a
doc: manpages for the various lightning RPC calls.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-09-06 16:47:41 +09:30
Rusty Russell
678df3525e
ccan: update, add cppmagic.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-09-06 13:47:07 +09:30
Rusty Russell
af8e4ed2b9
ccan: remove unused modules.
...
These tal submodules got pulled in initially by an overzealous copy.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-08-31 16:11:17 +09:30
Rusty Russell
c11c81a920
daemon: first unit test, infrastructure.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-08-25 11:39:46 +09:30
Rusty Russell
8d2776376a
0.4: Wright's Cryptographic Proof
...
Christian Decker moved us to libbase58 and off openssl; he got to name
this release.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-08-19 11:13:10 +09:30
Rusty Russell
190b30e958
daemon: test restarting.
...
We add a "dev-restart" command which causes the daemon to close fds
and exec itself. Then we do it after every command, with the caveat
that we always send a commit before newhtlc, because if not committed,
that is forgotten. Fulfillhtlc and failhtlc get resent, since they're
idempotent.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-08-18 14:25:14 +09:30
Rusty Russell
71b8a07c56
db.c: database API.
...
These tables could use a rework, as they largely reflect our internal
state. But it's a start.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-08-18 14:25:13 +09:30
Rusty Russell
3866d7605c
daemon: reconnect support.
...
To do this we keep an order counter so we know how to retransmit. We
could simply keep old packets, but this is a little clearer for now.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-08-18 14:25:08 +09:30
Rusty Russell
23f9c7c209
permute_tx: don't save permutation map.
...
We no longer need it anywhere. This simplifies things to the point where
we might as well just not include dust outputs as we go, rather than
explicitly removing them, which gets rid of remove_dust.c as well.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-08-18 14:23:46 +09:30
Rusty Russell
809caa8588
bitcoin/pullpush.[ch]: expose bitcoin-style marshal/unmarshal.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-08-18 14:23:45 +09:30
Rusty Russell
ca142a0b47
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-08-18 14:23:45 +09:30
Rusty Russell
748f477508
maintclean: fix depends and typo
...
Make CORE_OBJS depends on headers, also make them depend on CCAN headers.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-08-09 13:11:13 +09:30
Christian Decker
7546fad324
Removing OpenSSL as a dependency.
2016-08-09 13:10:19 +09:30
Christian Decker
1f4a056009
Switched base58 to use libbase58.
2016-08-09 13:10:19 +09:30
Rusty Russell
c649f62e43
libsecp256k1: update.
...
Add Makefile target update-secp256k1, and run it.
The only API change is that len is now an IN-OUT parameter to serialization
functions.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-07-01 12:00:17 +09:30
Rusty Russell
de90b44bf6
Makefile: erase libsecp results on distclean.
...
If upgrade changes configure flags, 'make distclean' can fail as it
tries to reconfigure. Deleting secp256k1/libsecp256k1.la forces a
full autogen/configure/make cycle.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-07-01 12:00:17 +09:30
Rusty Russell
42bed80145
pubkey: don't carry around DER encoding.
...
We just wrap the libsecp256k1 structure, and convert to DER on demand.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-07-01 12:00:17 +09:30
Rusty Russell
fecd91ab2a
Move funding.[ch] to daemon/channel.[ch].
...
It's a more logical name, and a more logical place. We change
"funding" to "channel" in the remaining exposed symbols, too.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-07-01 12:00:17 +09:30
Rusty Russell
04b3e8f91d
daemon: use siphash for hashes.
...
Remove ccan/hash (aka Jenkins lookup3) altogether.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-07-01 12:00:17 +09:30
Rusty Russell
d1416ea5b5
TAGS: don't go into git dirs.
...
Things get quite confusing when this happens.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-07-01 11:59:15 +09:30
ocinq
bcdab60694
Makefile : ccan/asort is referenced
...
Added explicit compilation and linking of ccan/asort as needed by daemon/chaintopology
2016-06-14 17:25:07 +02:00
Rusty Russell
49ebed737d
daemon/test: test differential fees.
...
This would have revealed the previous breakage (and I tested that!),
plus now we test negotiate on closing.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-30 11:18:46 +09:30
Rusty Russell
9bb070f5b6
0.3 release: Braydon Fuller: Nakamoto's Genesis Coins
...
Braydon wrote the INSTALL.md file; he gets to name this release,
in line with the theme.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-26 15:25:25 +09:30
Rusty Russell
97bc4ed0cb
daemon/test: test mutual close with outstanding HTLCS.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-26 15:25:24 +09:30
Rusty Russell
f43cc72d6a
Makefile: add generated packet names.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-26 15:25:24 +09:30
Rusty Russell
e46a2ed49a
test/test_protocol: rename internally to match updated 02-wire-protocol.md
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-17 15:06:12 +09:30
Rusty Russell
06d2c19c41
test/test_protocol: make pretty(-ish) SVG diagrams.
...
Could make them much prettier, but they're functional.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-17 15:02:08 +09:30
Rusty Russell
c710a64ccf
Makefile: support for suppressing valgrind.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-17 13:49:54 +09:30
Rusty Russell
7f90d183da
test/test_protocol: simulator for the updated wire-protocol BOLT.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-17 13:47:44 +09:30
Rusty Russell
35d1b13cde
daemon: commit outstanding changes via timer.
...
While useful for testing, it doesn't make sense to have an explicit commit
command; we should commit whenever there are outstanding changes.
We have a 10ms timer to allow limited batching, however.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-10 06:30:11 +09:30
Rusty Russell
4beaedfa49
daemon/test: clean up Makefile.
...
This means mkae tells us directly what failed.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-06 16:22:47 +09:30
Rusty Russell
d6603adc2f
daemon/test: test stealing.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-06 12:00:30 +09:30
Rusty Russell
623eec4068
daemon/test: test unilateral close.
...
We use dev-disconnect to convince one node the other has disconnected
(but not vice versa), to get deterministic behaviour. We do this with
one HTLC outstanding, to test the HTLC timeout path.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-04 16:14:22 +09:30
Rusty Russell
f29a6043d2
daemon: open-code handling of on-chain states.
...
Once we see an on-chain tx, we ignore the state machine and handle it
as per the onchain.md draft. This specifies a *resolution* for each
output, and we're done when they're irrevocable.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-04 16:14:22 +09:30
Rusty Russell
3f374d8d8b
check-bolt: handle references to early-drafts too.
...
Particularly for the onchain.md draft.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-04 16:03:04 +09:30
Rusty Russell
9eabab78ab
utils: tal_hexstr() helper.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-03 11:28:49 +09:30
Rusty Russell
a150bd191a
remove_dust: don't ever create dust outputs.
...
This behavior will be specified in BOLT #3 .
Closes : #14
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-03 11:28:49 +09:30