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

Function main

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

Source from the content-addressed store, hash-verified

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

Tested by

no test coverage detected