Rusty Russell
8522a5ea64
struct bitcoin_tx: remove explicit lengths, use tal_len()/tal_count()
...
They're always tal objects, so we can simply ask tal for the length,
simplifying the API.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2017-01-25 11:03:55 +10:30
Rusty Russell
8159c4458a
bitcoin/script.h: remove struct bitcoin_signature
...
Technically this incudes the sighash flags, but we only handle SIGHASH_ALL
anyway.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2017-01-25 11:03:55 +10:30
Rusty Russell
1edce4878d
bitcoin/signature.h: remove struct signature.
...
It's a wrapper around secp256k1_ecdsa_signature, so use that directly.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2017-01-25 11:03:55 +10:30
Rusty Russell
a4fdaab5b3
Use global secp256k1_ctx instead of passing it around.
...
If I'd known how large this patch would be (though trivial), I'd
have done it in parts.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2016-12-02 18:12:58 +10:30
Christian Decker
f4568e5c1c
routing: Added IRC announcement glue
...
Added channel announcement serialization and parsing, as well as the
entrypoints for the IRC peer discovery. Announcements are signed by the
sending endpoint and signatures are verified before adding the channels
to the local view of the topology. We do not yet verify the existence of
the anchor transaction.
2016-09-07 23:49:39 +02:00
Rusty Russell
f2d835522c
bitcoin: implement sig_valid.
...
Update libsecp256k1 has a normalize function, which allows us to test
if the signature was in low-S form.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2016-07-01 12:00:17 +09:30
Rusty Russell
69cb158edd
base58, script, protobuf_convert: don't use temporary secp256k1 context.
...
We use libsecp256k1 to convert signatures to DER; we were creating a
temporary one, but we really should be handing the one we have in dstate
through. This does that, everywhere.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2016-07-01 12:00:17 +09:30
Rusty Russell
410fc3b272
misc: remove some unused functions.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2016-04-24 19:33:13 +09:30
Rusty Russell
df5d4e3c10
bitcoin/signature: BIP143 signature support.
...
We hand in the witness_script: if non-NULL, we use BIP143-style
signature hash creation.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2016-04-12 13:05:51 +09:30
Rusty Russell
8104886503
Remove Alpha support.
...
I had already disabled it, and this clears the decks for Segregated Witness
which gives us everything we want.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2016-04-11 16:32:43 +09:30
Rusty Russell
6750794667
Use #if instead of #ifdef (we already use -Wundef).
...
This avoids embarassing typos in future.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2016-01-27 15:00:50 +10:30
Rusty Russell
9aa0eac814
bitcoin: hand in a secp256k1_context to all routines.
...
We don't want to re-create them internally, ever.
The test-cli tools are patched to generate them all the time, but
they're not performance critical.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2016-01-22 06:41:47 +10:30
Rusty Russell
93b5db89a8
signature: expose check_signed_hash()
...
This is wanted for crypto communications to check signature.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2016-01-22 06:41:45 +10:30
Rusty Russell
d733e82352
header cleanup: sort include lines into alpha order, after config.h
...
This makes merging easier in future.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2016-01-22 06:38:08 +10:30
Rusty Russell
32fe988fe8
bitcoin: signature fixes.
...
The libsecp change broke signature checking. Disable it for now,
with a big FIXME. The next version should have a method for S value
checking, and also compact serialization.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2015-10-12 10:45:02 +10:30
Rusty Russell
1d82bf51fc
signature: fix invalid S check.
...
The even-S check was based on https://github.com/sipa/bitcoin/commit/a81cd9680
which was replaced by a low-S check in commit e0e14e43d9586409e42919f6cb955540134cda2a
Abstract out and fix the check.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2015-07-01 16:27:52 +09:30
Rusty Russell
d20ddb5a90
Use libsecp256k1 instead of openssl for crypto.
...
We still use openssl for bignums (base58) and for ripemd.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2015-07-01 16:27:52 +09:30
Rusty Russell
fbe63124f6
Move DER encoding into bitcoin/signature.c
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2015-07-01 16:27:52 +09:30
Rusty Russell
ef9463f6b1
Sort include lines (ignoring hacky cli test utils).
...
Put ccan first, openssl next, then standard headers, then locals.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2015-06-12 12:41:28 +09:30
Rusty Russell
442f321585
Move protobuf<->bitcoin converters out of bitcoin/
...
They're lightning-specific.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2015-06-12 12:35:42 +09:30
Rusty Russell
612d713470
Move bitcoin stuff into bitcoin subdir.
...
It's not very interesting if you're looking for LN code.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2015-06-12 12:35:42 +09:30