Commit Graph

14140 Commits

Author SHA1 Message Date
Rusty Russell 0742e5356f get-anchor-depth: simple helper to get min_confirms from OpenChannel packet
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-05 11:09:29 +09:30
Rusty Russell 33bbd38691 Makefile: cleanup and generalize
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-05 11:05:05 +09:30
Rusty Russell a6b08dc393 protocol: add revocation hash to update_accept for other commit tx.
And clarify that we're going to be closing the anchor tx directly.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-05 11:04:04 +09:30
Rusty Russell f7f7f3f1bb check-anchor-scriptsigs: don't require txs.
It's convenient to double-check that commit txs spend anchor, but it's
misleading since we wouldn't have access to the other side's tx, and
in practice we wouldn't even sign ours until we need it.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-05 11:03:57 +09:30
Rusty Russell 8516798645 signature: fix signatures for p2sh inputs.
The subscript in this case is the redeemscript, not the input script.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-04 21:06:42 +09:30
Rusty Russell cbad9a1fa5 bitcoin_script: remember to push extra 0 for OP_CHECKMULTISIG.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-04 21:04:50 +09:30
Rusty Russell 769d2fd722 bitcoin_script: fix out-by-one error in multisig.
Was using 3 instead of 2.  OP_LITERAL() was a bad idea anyway,
as it would only handle numbers up to 16 (and we use 32).

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-04 16:20:36 +09:30
Rusty Russell 17c56a8cfc Fix DER encoding.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-04 15:46:49 +09:30
Rusty Russell 623c6562af Makefile: add TAGS target.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-04 15:46:39 +09:30
Rusty Russell abac31072e open-anchor-scriptsig: use pubkey, not addr in scriptsig.
Oops.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-04 15:05:04 +09:30
Rusty Russell 50609c6771 open-channel: expect hex txids to be in LE (ie. reversed!) order.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-04 14:46:12 +09:30
Rusty Russell 3ed87c5e6f anchor: fix anchor production for RIPEMD hash.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-04 14:15:54 +09:30
Rusty Russell 617d21eb43 check-anchor-scriptsigs: dump out anchor tx if scriptsigs make expected tx.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-04 14:15:51 +09:30
Rusty Russell a6d1c65683 Use new opt_usage_exit_fail().
opt_usage_and_exit() exits with status 0, and prints to stdout.
This exits status 1 and prints to stderr.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-04 14:15:19 +09:30
Rusty Russell 67f98fe6b6 Rename "anchor sig" to "anchor scriptsigs" to be clearer.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-04 12:10:01 +09:30
Rusty Russell cf333e45e1 Fix thinko: open-commit-sig needs to sign *their* commit tx.
And check-commit-sig needs to check it against ours.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-03 13:58:23 +09:30
Rusty Russell fe4972fda1 Anchor: apply permutation to get txid.
Otherwise both sides create different anchors.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-02 14:29:30 +09:30
Rusty Russell c291d19af6 Add check-commit-sig.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-02 14:28:59 +09:30
Rusty Russell 316f29cb69 bitcoin_script: wean entirely off protobuf types.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-02 13:38:38 +09:30
Rusty Russell f911b2b6df Use pubkey structures in bitcoin_script, rather than protobufs.
This ensures we do checking beforehand, and keeps abstractions clear.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-02 13:33:21 +09:30
Rusty Russell bd38003db6 Add function to linearize tx into bytes, by generalizing hash code.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-02 13:32:46 +09:30
Rusty Russell 393400fa39 Make an explicit bitcoin_txid() call.
Neater than open-coding it.  We still need the raw version for
signatures though.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-02 13:32:41 +09:30
Rusty Russell 07c7214edb Explicit pubkey structure.
This checks that the protobuf is the right form, also handles uncompressed
keys (though you shouldn't be using those any more, should you?)

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-02 11:53:59 +09:30
Rusty Russell 7c977a7633 Move signature <-> proto conversions to signature.c, check lower bit.
Make sure signature can be used by bitcoin.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-01 14:24:18 +09:30
Rusty Russell eec612af9f Use raw 64-byte signatures in protocol.
DER encoding introduces problems for non-canonical encodings; we should
do that only at the lightning<->bitcoin interface.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-06-01 13:04:00 +09:30
Rusty Russell 64b443dcd9 Add doubts on me & you sig on commit transaction.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-30 21:05:55 +09:30
Rusty Russell c04d20e019 commit_tx: new file containing logic to create initial commitment transaction.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-30 20:44:00 +09:30
Rusty Russell bf38ca052e open-commit-sig: create signature for commit tx.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-30 20:12:14 +09:30
Rusty Russell 63986e5b2d Rename perturb to permute.
Perturb is a bit stretched for this, permute is better.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-30 20:12:14 +09:30
Rusty Russell 8d31902785 Remove locktime-in-blocks option.
Needless complexity, AFAICT.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-30 20:12:14 +09:30
Rusty Russell 949c8c8d67 Fix redeem-2of2 script.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-30 20:12:14 +09:30
Rusty Russell 3a62a9172d Create bitcoin_tx helper.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-30 20:12:14 +09:30
Rusty Russell f43cdf085a Move anchor creation out into its own file.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-30 20:12:14 +09:30
Rusty Russell 8ff6b74e05 open-channel: restore the --commitment-fee option.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-30 20:12:14 +09:30
Rusty Russell 10133575b9 leak-anchor-sigs: the horrible hack until we have normalized txs.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-30 20:12:14 +09:30
Rusty Russell 670670f138 open-anchor-sig, many fixes for open-channel.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-29 10:51:16 +09:30
Rusty Russell c46842e0ba shadouble: update for ccan/crypto/sha256 changes.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-27 13:55:20 +09:30
Rusty Russell 94254e7c3f open_channel: say what version txs we'll create.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-27 11:42:05 +09:30
Rusty Russell 81ac81e699 Rename openchannel to open-channel.
Since I'm about to write create-anchor, which definitely needs a separator.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-26 14:14:19 +09:30
Rusty Russell 1c4fdce514 Initial silly cmdline util to create an openchannel packet.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2015-05-26 14:08:38 +09:30