mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-26 20:30:59 +01:00
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>
This commit is contained in:
parent
8516798645
commit
f7f7f3f1bb
1 changed files with 5 additions and 14 deletions
|
@ -1,6 +1,6 @@
|
|||
/* My example:
|
||||
* ./check-anchor-scriptsigs A-open.pb B-open.pb A-anchor-scriptsigs.pb B-anchor-scriptsigs.pb A-commit.tx B-commit.tx > A-anchor.tx
|
||||
* ./check-anchor-scriptsigs B-open.pb A-open.pb B-anchor-scriptsigs.pb A-anchor-scriptsigs.pb B-commit.tx A-commit.tx > B-anchor.tx
|
||||
* ./check-anchor-scriptsigs A-open.pb B-open.pb A-anchor-scriptsigs.pb B-anchor-scriptsigs.pb > A-anchor.tx
|
||||
* ./check-anchor-scriptsigs B-open.pb A-open.pb B-anchor-scriptsigs.pb A-anchor-scriptsigs.pb > B-anchor.tx
|
||||
*/
|
||||
#include <ccan/crypto/shachain/shachain.h>
|
||||
#include <ccan/short_types/short_types.h>
|
||||
|
@ -27,7 +27,7 @@ int main(int argc, char *argv[])
|
|||
const tal_t *ctx = tal_arr(NULL, char, 0);
|
||||
OpenChannel *o1, *o2;
|
||||
OpenAnchorScriptsigs *ss1, *ss2;
|
||||
struct bitcoin_tx *anchor, *commit1, *commit2;
|
||||
struct bitcoin_tx *anchor;
|
||||
struct sha256_double txid;
|
||||
u8 *tx_arr;
|
||||
size_t *inmap, *outmap;
|
||||
|
@ -36,13 +36,13 @@ int main(int argc, char *argv[])
|
|||
err_set_progname(argv[0]);
|
||||
|
||||
opt_register_noarg("--help|-h", opt_usage_and_exit,
|
||||
"<open-channel-file1> <open-channel-file2> <anchor-sig2-1> <anchor-sigs2> <commit-tx1> <commit-tx2>\n"
|
||||
"<open-channel-file1> <open-channel-file2> <anchor-sig2-1> <anchor-sigs2>\n"
|
||||
"Output the anchor transaction by merging the scriptsigs",
|
||||
"Print this message.");
|
||||
|
||||
opt_parse(&argc, argv, opt_log_stderr_exit);
|
||||
|
||||
if (argc != 7)
|
||||
if (argc != 5)
|
||||
opt_usage_exit_fail("Expected 6 arguments");
|
||||
|
||||
o1 = pkt_from_file(argv[1], PKT__PKT_OPEN)->open;
|
||||
|
@ -51,8 +51,6 @@ int main(int argc, char *argv[])
|
|||
->open_anchor_scriptsigs;
|
||||
ss2 = pkt_from_file(argv[4], PKT__PKT_OPEN_ANCHOR_SCRIPTSIGS)
|
||||
->open_anchor_scriptsigs;
|
||||
commit1 = bitcoin_tx_from_file(ctx, argv[5]);
|
||||
commit2 = bitcoin_tx_from_file(ctx, argv[6]);
|
||||
|
||||
anchor = anchor_tx_create(ctx, o1, o2, &inmap, &outmap);
|
||||
if (!anchor)
|
||||
|
@ -62,13 +60,6 @@ int main(int argc, char *argv[])
|
|||
|
||||
bitcoin_txid(anchor, &txid);
|
||||
|
||||
/* Now check that the txid is spent by the commitment txs we created */
|
||||
assert(commit1->input_count == 1 && commit2->input_count == 1);
|
||||
if (!structeq(&txid, &commit1->input[0].txid))
|
||||
errx(1, "%s doesn't spend this anchor", argv[5]);
|
||||
if (!structeq(&txid, &commit2->input[0].txid))
|
||||
errx(1, "%s doesn't spend this anchor", argv[6]);
|
||||
|
||||
/* Print it out in hex. */
|
||||
tx_arr = linearize_tx(ctx, anchor);
|
||||
tx_hex = tal_arr(tx_arr, char, hex_str_size(tal_count(tx_arr)));
|
||||
|
|
Loading…
Add table
Reference in a new issue