mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-03 18:57:06 +01:00
dual_open: move two functions
we'll call them from elsewhere later
This commit is contained in:
parent
e0a7907d79
commit
06b15f648f
1 changed files with 78 additions and 78 deletions
|
@ -942,84 +942,6 @@ cleanup:
|
||||||
tal_free(uc);
|
tal_free(uc);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void accepter_psbt_changed(struct subd *dualopend,
|
|
||||||
const u8 *msg)
|
|
||||||
{
|
|
||||||
u64 unused;
|
|
||||||
struct openchannel2_psbt_payload *payload =
|
|
||||||
tal(dualopend, struct openchannel2_psbt_payload);
|
|
||||||
payload->dualopend = dualopend;
|
|
||||||
payload->psbt = NULL;
|
|
||||||
payload->rcvd = tal(payload, struct commit_rcvd);
|
|
||||||
|
|
||||||
if (!fromwire_dualopend_psbt_changed(payload, msg,
|
|
||||||
&payload->rcvd->cid,
|
|
||||||
&unused,
|
|
||||||
&payload->psbt)) {
|
|
||||||
log_broken(dualopend->log, "Malformed dual_open_psbt_changed %s",
|
|
||||||
tal_hex(tmpctx, msg));
|
|
||||||
tal_free(dualopend);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
tal_add_destructor2(dualopend, openchannel2_psbt_remove_dualopend, payload);
|
|
||||||
plugin_hook_call_openchannel2_changed(dualopend->ld, payload);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void accepter_got_offer(struct subd *dualopend,
|
|
||||||
struct uncommitted_channel *uc,
|
|
||||||
const u8 *msg)
|
|
||||||
{
|
|
||||||
struct openchannel2_payload *payload;
|
|
||||||
|
|
||||||
if (peer_active_channel(uc->peer)) {
|
|
||||||
subd_send_msg(dualopend,
|
|
||||||
take(towire_dualopend_fail(NULL, "Already have active channel")));
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
payload = tal(dualopend, struct openchannel2_payload);
|
|
||||||
payload->dualopend = dualopend;
|
|
||||||
payload->psbt = NULL;
|
|
||||||
payload->accepter_funding = AMOUNT_SAT(0);
|
|
||||||
payload->our_shutdown_scriptpubkey = NULL;
|
|
||||||
payload->peer_id = uc->peer->id;
|
|
||||||
|
|
||||||
if (!fromwire_dualopend_got_offer(payload, msg,
|
|
||||||
&payload->their_funding,
|
|
||||||
&payload->dust_limit_satoshis,
|
|
||||||
&payload->max_htlc_value_in_flight_msat,
|
|
||||||
&payload->htlc_minimum_msat,
|
|
||||||
&payload->funding_feerate_max,
|
|
||||||
&payload->funding_feerate_min,
|
|
||||||
&payload->funding_feerate_best,
|
|
||||||
&payload->commitment_feerate_per_kw,
|
|
||||||
&payload->to_self_delay,
|
|
||||||
&payload->max_accepted_htlcs,
|
|
||||||
&payload->channel_flags,
|
|
||||||
&payload->locktime,
|
|
||||||
&payload->shutdown_scriptpubkey)) {
|
|
||||||
log_broken(uc->log, "Malformed dual_open_got_offer %s",
|
|
||||||
tal_hex(tmpctx, msg));
|
|
||||||
tal_free(dualopend);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* As a convenience to the plugin, we provide our current known
|
|
||||||
* min + max feerates. Ideally, the plugin will fail to
|
|
||||||
* contribute funds if the peer's feerate range is outside of
|
|
||||||
* this acceptable range, but we delegate that decision to
|
|
||||||
* the plugin's logic */
|
|
||||||
payload->feerate_our_min = feerate_min(dualopend->ld, NULL);
|
|
||||||
payload->feerate_our_max = feerate_max(dualopend->ld, NULL);
|
|
||||||
|
|
||||||
/* Set the inital to feerate to zero, in case there is no plugin */
|
|
||||||
payload->funding_feerate_per_kw = 0;
|
|
||||||
|
|
||||||
tal_add_destructor2(dualopend, openchannel2_remove_dualopend, payload);
|
|
||||||
plugin_hook_call_openchannel2(dualopend->ld, payload);
|
|
||||||
}
|
|
||||||
|
|
||||||
struct channel_send {
|
struct channel_send {
|
||||||
const struct wally_tx *wtx;
|
const struct wally_tx *wtx;
|
||||||
struct channel *channel;
|
struct channel *channel;
|
||||||
|
@ -1118,6 +1040,84 @@ static void send_funding_tx(struct channel *channel,
|
||||||
sendfunding_done, cs);
|
sendfunding_done, cs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void accepter_psbt_changed(struct subd *dualopend,
|
||||||
|
const u8 *msg)
|
||||||
|
{
|
||||||
|
u64 unused;
|
||||||
|
struct openchannel2_psbt_payload *payload =
|
||||||
|
tal(dualopend, struct openchannel2_psbt_payload);
|
||||||
|
payload->dualopend = dualopend;
|
||||||
|
payload->psbt = NULL;
|
||||||
|
payload->rcvd = tal(payload, struct commit_rcvd);
|
||||||
|
|
||||||
|
if (!fromwire_dualopend_psbt_changed(payload, msg,
|
||||||
|
&payload->rcvd->cid,
|
||||||
|
&unused,
|
||||||
|
&payload->psbt)) {
|
||||||
|
log_broken(dualopend->log, "Malformed dual_open_psbt_changed %s",
|
||||||
|
tal_hex(tmpctx, msg));
|
||||||
|
tal_free(dualopend);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
tal_add_destructor2(dualopend, openchannel2_psbt_remove_dualopend, payload);
|
||||||
|
plugin_hook_call_openchannel2_changed(dualopend->ld, payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void accepter_got_offer(struct subd *dualopend,
|
||||||
|
struct uncommitted_channel *uc,
|
||||||
|
const u8 *msg)
|
||||||
|
{
|
||||||
|
struct openchannel2_payload *payload;
|
||||||
|
|
||||||
|
if (peer_active_channel(uc->peer)) {
|
||||||
|
subd_send_msg(dualopend,
|
||||||
|
take(towire_dualopend_fail(NULL, "Already have active channel")));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
payload = tal(dualopend, struct openchannel2_payload);
|
||||||
|
payload->dualopend = dualopend;
|
||||||
|
payload->psbt = NULL;
|
||||||
|
payload->accepter_funding = AMOUNT_SAT(0);
|
||||||
|
payload->our_shutdown_scriptpubkey = NULL;
|
||||||
|
payload->peer_id = uc->peer->id;
|
||||||
|
|
||||||
|
if (!fromwire_dualopend_got_offer(payload, msg,
|
||||||
|
&payload->their_funding,
|
||||||
|
&payload->dust_limit_satoshis,
|
||||||
|
&payload->max_htlc_value_in_flight_msat,
|
||||||
|
&payload->htlc_minimum_msat,
|
||||||
|
&payload->funding_feerate_max,
|
||||||
|
&payload->funding_feerate_min,
|
||||||
|
&payload->funding_feerate_best,
|
||||||
|
&payload->commitment_feerate_per_kw,
|
||||||
|
&payload->to_self_delay,
|
||||||
|
&payload->max_accepted_htlcs,
|
||||||
|
&payload->channel_flags,
|
||||||
|
&payload->locktime,
|
||||||
|
&payload->shutdown_scriptpubkey)) {
|
||||||
|
log_broken(uc->log, "Malformed dual_open_got_offer %s",
|
||||||
|
tal_hex(tmpctx, msg));
|
||||||
|
tal_free(dualopend);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* As a convenience to the plugin, we provide our current known
|
||||||
|
* min + max feerates. Ideally, the plugin will fail to
|
||||||
|
* contribute funds if the peer's feerate range is outside of
|
||||||
|
* this acceptable range, but we delegate that decision to
|
||||||
|
* the plugin's logic */
|
||||||
|
payload->feerate_our_min = feerate_min(dualopend->ld, NULL);
|
||||||
|
payload->feerate_our_max = feerate_max(dualopend->ld, NULL);
|
||||||
|
|
||||||
|
/* Set the inital to feerate to zero, in case there is no plugin */
|
||||||
|
payload->funding_feerate_per_kw = 0;
|
||||||
|
|
||||||
|
tal_add_destructor2(dualopend, openchannel2_remove_dualopend, payload);
|
||||||
|
plugin_hook_call_openchannel2(dualopend->ld, payload);
|
||||||
|
}
|
||||||
|
|
||||||
static void peer_tx_sigs_msg(struct subd *dualopend,
|
static void peer_tx_sigs_msg(struct subd *dualopend,
|
||||||
const u8 *msg)
|
const u8 *msg)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Reference in a new issue