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
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
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
be38d3f507
Minor cleanups: things found while debugging the database code.
...
1. Fix #ifdef DEBUG code in signature.c so it compiles.
2. Don't set peer->closing.our_script in queue_pkt_close_shutdown: it's
assigned in caller already.
3. Wrap setting of htlc's rval in set_htlc_rval() function.
4. Log where we were when unexpected packet comes in.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2016-08-18 14:25:13 +09:30
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
8545db418b
bitcoin/tx: sha256_tx_for_sig() takes sighash flag.
...
That way it can assert (as we only support SIGHASH_ALL).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2016-04-11 16:45:53 +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
e669baec1c
bitcoin/signature: fix compilation with #define DEBUG
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2016-04-11 16:28:23 +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
9ebbe16b1e
source cleanup: sort include lines into alpha order
...
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
242fa1b2dd
pubkey: pubkey_eq helper.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2015-09-30 16:38:58 +09:30
Rusty Russell
e7856e6e69
Update libsecp to git@github.com:bitcoin/secp256k1.git 52fd03f
...
We want the ecdh stuff for onion routing.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2015-09-30 16:37:21 +09:30
Rusty Russell
6a5ba591ee
signature: match alpha hashing bug for multiple inputs.
...
https://github.com/ElementsProject/elements/issues/37
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2015-07-24 16:00:10 +09:30
Rusty Russell
465c2b04e8
signature: fix -DDEBUG case, add hash printing.
...
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2015-07-24 16:00:10 +09:30
Rusty Russell
faae91f3fc
Schnorr signature support.
...
This variation is used by alpha.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2015-07-01 16:27:52 +09: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
20624c049f
tx: prepare for Elements Alpha.
...
They sign, hash, and serialize differently.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au >
2015-07-01 16:27:45 +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