MCPcopy Create free account
hub / github.com/ElementsProject/lightning / main

Function main

devtools/mkclose.c:48–192  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

46}
47
48int main(int argc, char *argv[])
49{
50 struct pubkey funding_pubkey[NUM_SIDES], outkey[NUM_SIDES];
51 struct privkey funding_privkey[NUM_SIDES];
52 struct amount_sat funding_amount;
53 struct bitcoin_outpoint funding;
54 u32 feerate_per_kw;
55 struct amount_sat fee;
56 struct bitcoin_signature local_sig, remote_sig;
57 struct amount_msat local_msat, remote_msat;
58 int argnum, num_outputs;
59 struct bitcoin_tx *tx;
60 u8 **witness;
61 const u8 *funding_wscript;
62 const struct chainparams *chainparams = chainparams_for_network("bitcoin");
63 const struct amount_sat dust_limit = AMOUNT_SAT(546);
64 bool option_anchor_outputs = false;
65
66 setup_locale();
67
68 secp256k1_ctx = secp256k1_context_create(SECP256K1_CONTEXT_VERIFY |
69 SECP256K1_CONTEXT_SIGN);
70
71 if (argv[1] && streq(argv[1], "-v")) {
72 verbose = true;
73 argv++;
74 argc--;
75 }
76
77 if (argc != 10)
78 errx(1, "Usage: mkclose [-v] <funding-txid> <funding-txout> <funding-amount> <feerate-per-kw> <local-msat> <local-funding-privkey> <remote-funding-privkey> <local-close-pubkey> <remote-close-pubkey>\n"
79 "(Fee is deducted from local-msat)");
80
81 argnum = 1;
82 if (!bitcoin_txid_from_hex(argv[argnum],
83 strlen(argv[argnum]), &funding.txid))
84 errx(1, "Bad funding-txid");
85 argnum++;
86 funding.n = atoi(argv[argnum++]);
87 if (!parse_amount_sat(&funding_amount, argv[argnum], strlen(argv[argnum])))
88 errx(1, "Bad funding-amount");
89 argnum++;
90 feerate_per_kw = atoi(argv[argnum++]);
91 if (!parse_amount_msat(&local_msat,
92 argv[argnum], strlen(argv[argnum])))
93 errx(1, "Bad local-msat");
94 argnum++;
95 if (!hex_decode(argv[argnum], strlen(argv[argnum]),
96 &funding_privkey[LOCAL], sizeof(funding_privkey[LOCAL])))
97 errx(1, "Parsing local-funding_privkey");
98 argnum++;
99 if (!hex_decode(argv[argnum], strlen(argv[argnum]),
100 &funding_privkey[REMOTE], sizeof(funding_privkey[REMOTE])))
101 errx(1, "Parsing remote-funding_privkey");
102 argnum++;
103 if (!pubkey_from_hexstr(argv[argnum], strlen(argv[argnum]),
104 &outkey[LOCAL]))
105 errx(1, "Parsing local-close-pubkey");

Callers

nothing calls this directly

Calls 15

chainparams_for_networkFunction · 0.85
setup_localeFunction · 0.85
errxFunction · 0.85
bitcoin_txid_from_hexFunction · 0.85
hex_decodeFunction · 0.85
pubkey_from_hexstrFunction · 0.85
commit_tx_base_feeFunction · 0.85
amount_msat_deduct_satFunction · 0.85
amount_sat_sub_msatFunction · 0.85
pubkey_from_privkeyFunction · 0.85
scriptpubkey_p2wpkhFunction · 0.85

Tested by

no test coverage detected