From 9b4fd3894dbb38f2b41e74ccc02a61a27dacaabf Mon Sep 17 00:00:00 2001 From: Eval EXEC Date: Tue, 26 Dec 2023 00:33:33 +0800 Subject: [PATCH] Ensure `block_assembler`'s `Snapshot.tip_number` reach over `shared.Snapshot.tip_number` before `tx_pool.plug_entry` --- chain/src/tests/block_assembler.rs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/chain/src/tests/block_assembler.rs b/chain/src/tests/block_assembler.rs index 6f5c5e2193..36d1d8692b 100644 --- a/chain/src/tests/block_assembler.rs +++ b/chain/src/tests/block_assembler.rs @@ -557,6 +557,19 @@ fn test_package_multi_best_scores() { TxEntry::dummy_resolve(tx3_1.clone(), 0, Capacity::shannons(1000), 1000), TxEntry::dummy_resolve(tx4_1.clone(), 0, Capacity::shannons(300), 250), ]; + + let shared_tip_number = shared.snapshot().tip_number().into(); + while { + let template_tip_number = tx_pool + .get_block_template(None, None, None) + .expect("must fetch block template result") + .expect("must have block template") + .number; + template_tip_number <= shared_tip_number + } { + std::thread::sleep(std::time::Duration::from_millis(100)); + } + tx_pool.plug_entry(entries, PlugTarget::Proposed).unwrap(); // 250 size best scored txs