Skip to content

Commit

Permalink
df-mfc: set protocol type when we know it
Browse files Browse the repository at this point in the history
We'll use it for figuring out whether or not to set a utxo witness
minimum, which comes much before we were setting this field.

Now we set the protocol as soon as we can reasonably deduce it.
  • Loading branch information
niftynei authored and rustyrussell committed Dec 2, 2020
1 parent e81d78e commit b017340
Showing 1 changed file with 10 additions and 7 deletions.
17 changes: 10 additions & 7 deletions plugins/spender/multifundchannel.c
Original file line number Diff line number Diff line change
Expand Up @@ -545,6 +545,14 @@ connect_ok(struct command *cmd,
json_tok_full_len(features_tok),
json_tok_full(buf, features_tok));

/* Set the open protocol to use now */
#if EXPERIMENTAL_FEATURES
if (feature_negotiated(plugin_feature_set(mfc->cmd->plugin),
dest->their_features,
OPT_DUAL_FUND))
dest->protocol = OPEN_CHANNEL;
#endif /* EXPERIMENTAL_FEATURES */

dest->state = MULTIFUNDCHANNEL_CONNECTED;
return connect_done(dest);
}
Expand Down Expand Up @@ -961,14 +969,9 @@ perform_channel_start(struct multifundchannel_command *mfc)
/* Since v2 is now available, we branch depending
* on the capability of the peer and our feaures */
for (i = 0; i < tal_count(mfc->destinations); ++i) {
#if EXPERIMENTAL_FEATURES
if (feature_negotiated(plugin_feature_set(mfc->cmd->plugin),
mfc->destinations[i].their_features,
OPT_DUAL_FUND)) {
mfc->destinations[i].protocol = OPEN_CHANNEL;
if (mfc->destinations[i].protocol == OPEN_CHANNEL)
openchannel_init_dest(&mfc->destinations[i]);
} else
#endif /* EXPERIMENTAL_FEATURES */
else
fundchannel_start_dest(&mfc->destinations[i]);
}

Expand Down

0 comments on commit b017340

Please sign in to comment.