core-lightning/bitcoin
Rusty Russell 1245ffaae3 script: add check for 32-byte preimage.
We need to enforce this onchain as we do in the protocol off-chain,
otherwise we can have an onchain redemption we can't redeem upstream
via the protocol.  While Laolu points out there's a 520 byte limit on
witness stack element, that can still make for a larger tx and make
problems for the steal tx case.

The downside is that even the timeout transaction, which used to spend
the HTLC with an empty 'secret', now needs a 32-byte secret, making it
a little larger.  We create a 'bitcoin_witness_htlc' helper for this
case.

See: http://lists.linuxfoundation.org/pipermail/lightning-dev/2016-May/000529.html

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2016-05-03 11:28:50 +09:30
..
test utils: tal_hexstr() helper. 2016-05-03 11:28:49 +09:30
address.h misc: remove some unused functions. 2016-04-24 19:33:13 +09:30
base58.c bitcoin: hand in a secp256k1_context to all routines. 2016-01-22 06:41:47 +10:30
base58.h bitcoin: hand in a secp256k1_context to all routines. 2016-01-22 06:41:47 +10:30
block.c bitcoind: use correct endianness for block hashes. 2016-04-24 19:41:20 +09:30
block.h bitcoind: use correct endianness for block hashes. 2016-04-24 19:41:20 +09:30
locktime.c daemon: fix BIP68 support. 2016-04-11 16:34:29 +09:30
locktime.h header cleanup: sort include lines into alpha order, after config.h 2016-01-22 06:38:08 +10:30
Makefile bitcoin: add first unit test. 2016-04-11 16:42:53 +09:30
privkey.h header cleanup: sort include lines into alpha order, after config.h 2016-01-22 06:38:08 +10:30
pubkey.c protocol: remove support for uncompressed pubkeys. 2016-03-30 16:54:16 +10:30
pubkey.h protocol: remove support for uncompressed pubkeys. 2016-03-30 16:54:16 +10:30
README Fix typo. 2015-06-25 13:48:05 +09:30
script.c script: add check for 32-byte preimage. 2016-05-03 11:28:50 +09:30
script.h script: add check for 32-byte preimage. 2016-05-03 11:28:50 +09:30
shadouble.c bitcoin: use ccan/mem instead of rolling own check_mem function. 2015-10-26 21:06:23 +10:30
shadouble.h header cleanup: sort include lines into alpha order, after config.h 2016-01-22 06:38:08 +10:30
signature.c misc: remove some unused functions. 2016-04-24 19:33:13 +09:30
signature.h misc: remove some unused functions. 2016-04-24 19:33:13 +09:30
tx.c Remove unused script functions now we use witness. 2016-04-24 20:09:39 +09:30
tx.h Remove unused script functions now we use witness. 2016-04-24 20:09:39 +09:30
varint.c varint: new file. 2016-04-12 13:07:03 +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.