From b33526ef5660c064d40728b4d0cb66ca20ca0acc Mon Sep 17 00:00:00 2001 From: Joost Jager Date: Thu, 21 May 2026 08:39:41 +0200 Subject: [PATCH] Add explicit chanmon manager persistence commands Add chanmon_consistency commands to persist each node's ChannelManager state explicitly. This lets the fuzz target exercise delayed manager persistence instead of checkpointing it after every command. --- fuzz/src/chanmon_consistency.rs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/fuzz/src/chanmon_consistency.rs b/fuzz/src/chanmon_consistency.rs index ce148157df9..95874c340cd 100644 --- a/fuzz/src/chanmon_consistency.rs +++ b/fuzz/src/chanmon_consistency.rs @@ -2860,6 +2860,7 @@ impl<'a, Out: Output + MaybeSend + MaybeSync> Harness<'a, Out> { } fn restart_node(&mut self, node_idx: usize, v: u8, router: &'a FuzzRouter) { + self.nodes[node_idx].checkpoint_manager_persistence(); match node_idx { 0 => { self.ab_link.disconnect_for_reload(0, &self.nodes, &mut self.queues); @@ -3116,6 +3117,16 @@ pub fn do_test(data: &[u8], out: Out) { 0x88 => harness.nodes[2].bump_fee_estimate(harness.chan_type), 0x89 => harness.nodes[2].reset_fee_estimate(), + 0x90 => { + harness.nodes[0].checkpoint_manager_persistence(); + }, + 0x91 => { + harness.nodes[1].checkpoint_manager_persistence(); + }, + 0x92 => { + harness.nodes[2].checkpoint_manager_persistence(); + }, + 0xa0 => { if !cfg!(splicing) { break 'fuzz_loop; @@ -3370,8 +3381,6 @@ pub fn do_test(data: &[u8], out: Out) { }, _ => break 'fuzz_loop, } - - harness.checkpoint_manager_persistences(); } harness.finish(); }