When we got our peer's sigs, if we were the remote, we would re-notify
the plugin, which in turn would re-send the tx-sigs to use.
In the case of CLN, we'd then
- break, because we'd re-forward the sigs to the `openchannel` plugin,
which was then in the wrong state (MULTIFUNDCHANNEL_SIGNED)
spenderp: plugins/spender/openchannel.c:598: json_peer_sigs: Assertion `dest->state == MULTIFUNDCHANNEL_SECURED' failed.
spenderp: FATAL SIGNAL 6 (version 5880d59-modded)
In the case of eclair, they'd just see our 2nd TX_SIGS message and
@t-bast would complain:
> This test works, with one minor issue: on reconnection, cln sends its tx_signatures twice (duplicate?).
This commit does two things:
- has the openchannel / spender plugin log a broken instead of
crashing when the state is not what we're expecting
- stops us from calling the `funder` plugin if this is a
replay/second receipt of commit-sigs.
|
||
|---|---|---|
| .. | ||
| bkpr | ||
| clnrest | ||
| examples | ||
| grpc-plugin | ||
| renepay | ||
| spender | ||
| src | ||
| test | ||
| .gitignore | ||
| autoclean.c | ||
| bcli.c | ||
| Cargo.toml | ||
| chanbackup.c | ||
| commando.c | ||
| fetchinvoice.c | ||
| funder_policy.c | ||
| funder_policy.h | ||
| funder.c | ||
| keysend.c | ||
| libplugin-pay.c | ||
| libplugin-pay.h | ||
| libplugin.c | ||
| libplugin.h | ||
| Makefile | ||
| offers_inv_hook.c | ||
| offers_inv_hook.h | ||
| offers_invreq_hook.c | ||
| offers_invreq_hook.h | ||
| offers_offer.c | ||
| offers_offer.h | ||
| offers.c | ||
| offers.h | ||
| pay.c | ||
| README.md | ||
| sql.c | ||
| topology.c | ||
| txprepare.c | ||
Plugin Directory
Any file in this directory which is executable and whose name only consists of alphanumeric characters, space, '.', '-' or '_' will be automatically loaded when lightningd starts (unless suppressed with commandline options).