clboss/Boss
Ken Sedgwick f6f7070da8
Some checks failed
Code Base Sanity Check / tests (push) Has been cancelled
Code Base Sanity Check / coverage (push) Has been cancelled
Code Base Sanity Check / build-clang (push) Has been cancelled
AmountSettingsHandler: enforce the Planner's channel size precondition (#147)
The ChannelCreator Planner asserts
min_channel + min_remaining <= max_channel at construction, where
min_remaining = 2 * min_channel + 20000 sats.  Option validation
only enforced max_channel >= 2 * min_channel, so a pair such as
min-channel=1000000 max-channel=2000000 passed startup and aborted
the plugin on the first channel-creation run (#147).  The old 2x
clamp never prevented the crash: any pair it adjusted still
violated the planner precondition.

AmountSettingsHandler now enforces the precondition directly.  On
conflict it keeps max-channel, which sets typical open size, and
lowers min-channel to the largest fitting value, logging a warning.
A max-channel too low for even the smallest permitted min-channel
is raised.

ChannelCreator::Manager also re-checks both planner preconditions
before constructing the Planner and skips the creation cycle with a
log line instead of aborting.  This covers the sibling assert
min_amount * 2 <= total, which fails when onchain funds change
between the decider's trigger and the creator's run (#137).
2026-08-11 10:48:26 -07:00
..
Mod AmountSettingsHandler: enforce the Planner's channel size precondition (#147) 2026-08-11 10:48:26 -07:00
ModG Add rebalancer mode selector (classic/off) as a dynamic option 2026-08-04 11:01:46 -07:00
Msg DemandTracker: trigger demand rebalance cycles from observed forwards 2026-08-05 10:59:08 -07:00
concurrent.cpp Ev/Io.hpp: Avoid copying objects, just move things around. 2020-09-14 09:12:46 +08:00
concurrent.hpp Boss/concurrent.cpp: Wrapper for Ev::concurrent that ignores Boss::Shutdown exceptions. 2020-09-07 07:39:36 +08:00
JsonInput.cpp Boss/Mod/CommandReceiver.cpp: Handle rpc_command at this level, to increase our responsiveness. 2020-11-10 10:19:53 +08:00
JsonInput.hpp Boss/JsonInput.cpp: Implement input loop. 2020-09-07 11:51:30 +08:00
log.cpp Util/Str.cpp: Implement Util::Str::fmt. 2021-10-06 19:26:55 +08:00
log.hpp Boss/log.hpp: Have GCC do printf checks. 2020-11-24 18:58:39 +08:00
Main.cpp Avoid program_invocation_name which is available only on Linux 2024-10-28 12:12:15 -05:00
Main.hpp Boss/open_rpc_socket.cpp: Function to open the RPC socket. 2020-09-07 21:50:38 +08:00
open_rpc_socket.cpp Use BacktraceException for appropriate (most) exceptions 2024-08-19 15:04:30 -07:00
open_rpc_socket.hpp Boss/open_rpc_socket.cpp: Function to open the RPC socket. 2020-09-07 21:50:38 +08:00
random_engine.cpp Use BacktraceException for appropriate (most) exceptions 2024-08-19 15:04:30 -07:00
random_engine.hpp Boss/random_engine.cpp: Common random engine. 2020-09-10 00:13:02 +08:00
RebalanceMode.hpp XRebalancer: xrebalance2 mode drives the external xrebalance plugin 2026-08-04 11:02:15 -07:00
Shutdown.hpp Boss/Shutdown.hpp: Trivial struct for signalling shutdown. 2020-09-07 07:06:30 +08:00
Signer.cpp Use BacktraceException for appropriate (most) exceptions 2024-08-19 15:04:30 -07:00
Signer.hpp Boss/Signer.cpp: Signer for boltz-swapping transactions. 2020-09-23 12:45:50 +08:00