rgb-cln/bitcoin
Rusty Russell fed5a117e7 Update ccan/structeq.
structeq() is too dangerous: if a structure has padding, it can fail
silently.

The new ccan/structeq instead provides a macro to define foo_eq(),
which does the right thing in case of padding (which none of our
structures currently have anyway).

Upgrade ccan, and use it everywhere.  Except run-peer-wire.c, which
is only testing code and can use raw memcmp(): valgrind will tell us
if padding exists.

Interestingly, we still declared short_channel_id_eq, even though
we didn't define it any more!

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-07-04 23:57:00 +02:00
..
test Force the use of the POSIX C locale for all commands and their subprocesses 2018-04-27 14:02:59 +02:00
Makefile bitcoin: expose feerate_floor. 2018-06-21 13:43:32 +02:00
README Fix typo. 2015-06-25 13:48:05 +09:30
address.h Makefile: generalize whitespace check. 2017-01-04 14:09:20 +10:30
base58.c Remove unused functions not covered by unit tests 2018-03-26 23:35:56 +00:00
base58.h Remove unused functions not covered by unit tests 2018-03-26 23:35:56 +00:00
block.c bitcoin: add formatting hook for printing bitcoin blockids 2017-12-25 12:33:22 +01:00
block.h Update ccan/structeq. 2018-07-04 23:57:00 +02:00
chainparams.c fix Litecoin testnet bip173 name 2018-05-03 14:09:50 +02:00
chainparams.h wallet: use last_processed_block to determine scan start. 2018-02-16 13:07:12 +01:00
feerate.h bitcoin: expose feerate_floor. 2018-06-21 13:43:32 +02:00
locktime.c Remove unused functions not covered by unit tests 2018-03-26 23:35:56 +00:00
locktime.h Remove unused functions not covered by unit tests 2018-03-26 23:35:56 +00:00
preimage.h Update ccan/structeq. 2018-07-04 23:57:00 +02:00
privkey.h Update ccan/structeq. 2018-07-04 23:57:00 +02:00
pubkey.c Update ccan/structeq. 2018-07-04 23:57:00 +02:00
pubkey.h Update ccan/structeq. 2018-07-04 23:57:00 +02:00
pullpush.c Remove include in file foo.c that is already included in foo.h 2018-03-25 23:54:21 +00:00
pullpush.h struct bitcoin_tx: remove explicit lengths, use tal_len()/tal_count() 2017-01-25 11:03:55 +10:30
script.c bitcoin/*: fix up BOLT references. 2018-06-18 12:31:09 +02:00
script.h Remove unused functions not covered by unit tests 2018-03-26 23:35:56 +00:00
shadouble.c type_to_string: support sha256_double. 2018-03-13 16:34:55 +01:00
shadouble.h header cleanup: sort include lines into alpha order, after config.h 2016-01-22 06:38:08 +10:30
short_channel_id.c short_channel_id: don't use bitfields. 2018-03-01 23:33:56 +01:00
short_channel_id.h Update ccan/structeq. 2018-07-04 23:57:00 +02:00
signature.c Remove unused functions not covered by unit tests 2018-03-26 23:35:56 +00:00
signature.h Remove unused functions not covered by unit tests 2018-03-26 23:35:56 +00:00
tx.c Mark intentionally unused parameters as such (with "UNUSED") 2018-02-22 01:09:12 +00:00
tx.h Update ccan/structeq. 2018-07-04 23:57:00 +02:00
varint.c bitcoin/varint: fix varint reading for multibyte varints. 2016-07-07 11:55:32 +09:30
varint.h varint: new file. 2016-04-12 13:07:03 +09:30

README

These are standard bitcoin manipulation routines which should be
provided by any normal bitcoin library in whatever language you choose.

The ones here are standalone ones taken from bitcoin core and some I
wrote, many taken from bitcoin-iterate and pasted in here.