core-lightning/bitcoin
Rusty Russell a83e45fec2 bitcoin/signature: create/check tx sigs without mangling the tx.
We currently make sure that all the bitcoin_tx input scripts are NULL
and set the input script of the input we're signing, so we can easily
reuse the tx hashing code for signature checks.  This means that we
sometimes jump through hoops to make sure input scripts are NULL, and
also means that the tx can't be const.

Put more logic inside bitcoin/tx so it can simply ignore things we
don't want to hash.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2018-12-06 23:11:51 +01:00
..
test secret_eq: remove in favor of constant time variant. 2018-08-23 14:46:22 +02:00
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 chainparams: Remove index from chainparams 2018-09-14 21:18:11 +02:00
chainparams.h chainparams: Remove index from chainparams 2018-09-14 21:18:11 +02: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
Makefile secret_eq: remove in favor of constant time variant. 2018-08-23 14:46:22 +02:00
preimage.h Update ccan/structeq. 2018-07-04 23:57:00 +02:00
privkey.c secret_eq: remove in favor of constant time variant. 2018-08-23 14:46:22 +02:00
privkey.h secret_eq: remove in favor of constant time variant. 2018-08-23 14:46:22 +02:00
pubkey.c secret_eq: remove in favor of constant time variant. 2018-08-23 14:46:22 +02:00
pubkey.h bitcoin/pubkey: add pubkey_from_secret. 2018-07-24 00:40:01 +02:00
pullpush.c Remove tal_len, use tal_count() or tal_bytelen(). 2018-07-30 11:31:17 +02:00
pullpush.h struct bitcoin_tx: remove explicit lengths, use tal_len()/tal_count() 2017-01-25 11:03:55 +10:30
README Fix typo. 2015-06-25 13:48:05 +09:30
script.c Remove tal_len, use tal_count() or tal_bytelen(). 2018-07-30 11:31:17 +02:00
script.h Remove tal_len, use tal_count() or tal_bytelen(). 2018-07-30 11:31:17 +02: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 bitcoin/signature: create/check tx sigs without mangling the tx. 2018-12-06 23:11:51 +01:00
signature.h bitcoin/signature: create/check tx sigs without mangling the tx. 2018-12-06 23:11:51 +01:00
tx.c bitcoin/signature: create/check tx sigs without mangling the tx. 2018-12-06 23:11:51 +01:00
tx.h bitcoin/signature: create/check tx sigs without mangling the tx. 2018-12-06 23:11:51 +01: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

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.