mirror of
https://github.com/ElementsProject/lightning.git
synced 2025-03-03 10:46:58 +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);
|
||||
}
|
||||
|
||||
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 {
|
||||
const struct wally_tx *wtx;
|
||||
struct channel *channel;
|
||||
|
@ -1118,6 +1040,84 @@ static void send_funding_tx(struct channel *channel,
|
|||
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,
|
||||
const u8 *msg)
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue