From 46641951faa2e3c851ac81c3296d5babdcc3b4bd Mon Sep 17 00:00:00 2001 From: niftynei Date: Wed, 16 Sep 2020 18:19:01 -0500 Subject: [PATCH] dual-open: use tx_roles, not side, as switch It's easier to reason about --- lightningd/dual_open_control.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lightningd/dual_open_control.c b/lightningd/dual_open_control.c index 8cba835d1429..e98fdc880e77 100644 --- a/lightningd/dual_open_control.c +++ b/lightningd/dual_open_control.c @@ -351,8 +351,8 @@ static bool psbt_side_contribs_changed(struct wally_psbt *orig, return false; } -/* Adds serials to our inputs + outputs that don't have one yet */ -static void psbt_add_serials(struct wally_psbt *psbt, enum side opener) +/* Adds serials to inputs + outputs that don't have one yet */ +static void psbt_add_serials(struct wally_psbt *psbt, enum tx_role role) { u16 serial_id; const u64 serial_space = 100000; @@ -361,7 +361,7 @@ static void psbt_add_serials(struct wally_psbt *psbt, enum side opener) if (psbt_get_serial_id(&psbt->inputs[i].unknowns, &serial_id)) continue; - while ((serial_id = pseudorand(serial_space)) % 2 != opener || + while ((serial_id = pseudorand(serial_space)) % 2 != role || psbt_find_serial_input(psbt, serial_id) != -1) { /* keep going; */ } @@ -372,7 +372,7 @@ static void psbt_add_serials(struct wally_psbt *psbt, enum side opener) if (psbt_get_serial_id(&psbt->outputs[i].unknowns, &serial_id)) continue; - while ((serial_id = pseudorand(serial_space)) % 2 != opener || + while ((serial_id = pseudorand(serial_space)) % 2 != role || psbt_find_serial_output(psbt, serial_id) != -1) { /* keep going; */ } @@ -410,7 +410,7 @@ openchannel2_hook_deserialize(struct openchannel2_payload *payload, /* Add a serial_id to everything that doesn't have one yet */ if (payload->psbt) - psbt_add_serials(payload->psbt, REMOTE); + psbt_add_serials(payload->psbt, TX_ACCEPTER); if (payload->psbt && !psbt_has_required_fields(payload->psbt)) fatal("Plugin supplied PSBT that's missing required fields. %s", @@ -1113,7 +1113,7 @@ static struct command_result *json_open_channel_update(struct command *cmd, return command_fail(cmd, LIGHTNINGD, "Channel funding in progress"); /* Add serials to PSBT */ - psbt_add_serials(psbt, LOCAL); + psbt_add_serials(psbt, TX_INITIATOR); if (!psbt_has_required_fields(psbt)) return command_fail(cmd, FUNDING_PSBT_INVALID, "PSBT is missing required fields %s", @@ -1251,7 +1251,7 @@ static struct command_result *json_open_channel_init(struct command *cmd, } /* Add serials to any input that's missing them */ - psbt_add_serials(psbt, LOCAL); + psbt_add_serials(psbt, TX_INITIATOR); if (!psbt_has_required_fields(psbt)) return command_fail(cmd, FUNDING_PSBT_INVALID, "PSBT is missing required fields %s",