Skip to content

Commit b33526e

Browse files
committed
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.
1 parent ee456a8 commit b33526e

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

fuzz/src/chanmon_consistency.rs

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2860,6 +2860,7 @@ impl<'a, Out: Output + MaybeSend + MaybeSync> Harness<'a, Out> {
28602860
}
28612861

28622862
fn restart_node(&mut self, node_idx: usize, v: u8, router: &'a FuzzRouter) {
2863+
self.nodes[node_idx].checkpoint_manager_persistence();
28632864
match node_idx {
28642865
0 => {
28652866
self.ab_link.disconnect_for_reload(0, &self.nodes, &mut self.queues);
@@ -3116,6 +3117,16 @@ pub fn do_test<Out: Output + MaybeSend + MaybeSync>(data: &[u8], out: Out) {
31163117
0x88 => harness.nodes[2].bump_fee_estimate(harness.chan_type),
31173118
0x89 => harness.nodes[2].reset_fee_estimate(),
31183119

3120+
0x90 => {
3121+
harness.nodes[0].checkpoint_manager_persistence();
3122+
},
3123+
0x91 => {
3124+
harness.nodes[1].checkpoint_manager_persistence();
3125+
},
3126+
0x92 => {
3127+
harness.nodes[2].checkpoint_manager_persistence();
3128+
},
3129+
31193130
0xa0 => {
31203131
if !cfg!(splicing) {
31213132
break 'fuzz_loop;
@@ -3370,8 +3381,6 @@ pub fn do_test<Out: Output + MaybeSend + MaybeSync>(data: &[u8], out: Out) {
33703381
},
33713382
_ => break 'fuzz_loop,
33723383
}
3373-
3374-
harness.checkpoint_manager_persistences();
33753384
}
33763385
harness.finish();
33773386
}

0 commit comments

Comments
 (0)