@@ -24,7 +24,7 @@ use common::{
2424 generate_listening_addresses, open_channel, open_channel_push_amt, open_channel_with_all,
2525 premine_and_distribute_funds, premine_blocks, prepare_rbf, random_chain_source, random_config,
2626 random_listening_addresses, setup_bitcoind_and_electrsd, setup_builder, setup_node,
27- setup_two_nodes, splice_in_with_all , skip_if_cbf , wait_for_cbf_sync, wait_for_tx,
27+ setup_two_nodes, skip_if_cbf , splice_in_with_all , wait_for_cbf_sync, wait_for_tx,
2828 TestChainSource , TestStoreType , TestSyncStore ,
2929} ;
3030use electrsd:: corepc_node:: Node as BitcoinD ;
@@ -2995,7 +2995,8 @@ async fn fee_rate_estimation_after_manual_sync_cbf() {
29952995 )
29962996 . await ;
29972997
2998- wait_for_cbf_sync ( & node) . await ;
2998+ wait_for_cbf_sync ( & node, || node. status ( ) . latest_fee_rate_cache_update_timestamp . is_some ( ) )
2999+ . await ;
29993000 let first_fee_update = node. status ( ) . latest_fee_rate_cache_update_timestamp ;
30003001 assert ! ( first_fee_update. is_some( ) ) ;
30013002
@@ -3025,7 +3026,10 @@ async fn repeated_manual_sync_cbf() {
30253026 )
30263027 . await ;
30273028
3028- wait_for_cbf_sync ( & node) . await ;
3029+ wait_for_cbf_sync ( & node, || {
3030+ node. list_balances ( ) . spendable_onchain_balance_sats == premine_amount_sat
3031+ } )
3032+ . await ;
30293033 assert_eq ! ( node. list_balances( ) . spendable_onchain_balance_sats, premine_amount_sat) ;
30303034
30313035 // Regression: the second manual sync must not block forever.
@@ -3070,7 +3074,10 @@ async fn start_stop_reinit_cbf() {
30703074 )
30713075 . await ;
30723076
3073- wait_for_cbf_sync ( & node) . await ;
3077+ wait_for_cbf_sync ( & node, || {
3078+ node. list_balances ( ) . spendable_onchain_balance_sats == expected_amount. to_sat ( )
3079+ } )
3080+ . await ;
30743081 assert_eq ! ( node. list_balances( ) . spendable_onchain_balance_sats, expected_amount. to_sat( ) ) ;
30753082
30763083 node. stop ( ) . unwrap ( ) ;
@@ -3098,7 +3105,11 @@ async fn start_stop_reinit_cbf() {
30983105 expected_amount. to_sat( )
30993106 ) ;
31003107
3101- wait_for_cbf_sync ( & reinitialized_node) . await ;
3108+ wait_for_cbf_sync ( & reinitialized_node, || {
3109+ reinitialized_node. list_balances ( ) . spendable_onchain_balance_sats
3110+ == expected_amount. to_sat ( )
3111+ } )
3112+ . await ;
31023113 assert_eq ! (
31033114 reinitialized_node. list_balances( ) . spendable_onchain_balance_sats,
31043115 expected_amount. to_sat( )
@@ -3128,7 +3139,10 @@ async fn onchain_wallet_recovery_cbf() {
31283139 )
31293140 . await ;
31303141
3131- wait_for_cbf_sync ( & original_node) . await ;
3142+ wait_for_cbf_sync ( & original_node, || {
3143+ original_node. list_balances ( ) . spendable_onchain_balance_sats == premine_amount_sat
3144+ } )
3145+ . await ;
31323146 assert_eq ! ( original_node. list_balances( ) . spendable_onchain_balance_sats, premine_amount_sat) ;
31333147
31343148 let addr_2 = original_node. onchain_payment ( ) . new_address ( ) . unwrap ( ) ;
@@ -3144,7 +3158,10 @@ async fn onchain_wallet_recovery_cbf() {
31443158
31453159 generate_blocks_and_wait ( & bitcoind. client , & electrsd. client , 1 ) . await ;
31463160
3147- wait_for_cbf_sync ( & original_node) . await ;
3161+ wait_for_cbf_sync ( & original_node, || {
3162+ original_node. list_balances ( ) . spendable_onchain_balance_sats == premine_amount_sat * 2
3163+ } )
3164+ . await ;
31483165 assert_eq ! (
31493166 original_node. list_balances( ) . spendable_onchain_balance_sats,
31503167 premine_amount_sat * 2
@@ -3159,7 +3176,10 @@ async fn onchain_wallet_recovery_cbf() {
31593176 recovered_config. recovery_mode = true ;
31603177 let recovered_node = setup_node ( & chain_source, recovered_config) ;
31613178
3162- wait_for_cbf_sync ( & recovered_node) . await ;
3179+ wait_for_cbf_sync ( & recovered_node, || {
3180+ recovered_node. list_balances ( ) . spendable_onchain_balance_sats == premine_amount_sat * 2
3181+ } )
3182+ . await ;
31633183 assert_eq ! (
31643184 recovered_node. list_balances( ) . spendable_onchain_balance_sats,
31653185 premine_amount_sat * 2
@@ -3182,7 +3202,10 @@ async fn onchain_wallet_recovery_cbf() {
31823202
31833203 generate_blocks_and_wait ( & bitcoind. client , & electrsd. client , 1 ) . await ;
31843204
3185- wait_for_cbf_sync ( & recovered_node) . await ;
3205+ wait_for_cbf_sync ( & recovered_node, || {
3206+ recovered_node. list_balances ( ) . spendable_onchain_balance_sats == premine_amount_sat * 3
3207+ } )
3208+ . await ;
31863209 assert_eq ! (
31873210 recovered_node. list_balances( ) . spendable_onchain_balance_sats,
31883211 premine_amount_sat * 3
@@ -3209,7 +3232,10 @@ async fn onchain_send_receive_cbf() {
32093232 )
32103233 . await ;
32113234
3212- wait_for_cbf_sync ( & node_a) . await ;
3235+ wait_for_cbf_sync ( & node_a, || {
3236+ node_a. list_balances ( ) . spendable_onchain_balance_sats == premine_amount_sat
3237+ } )
3238+ . await ;
32133239 node_b. sync_wallets ( ) . unwrap ( ) ;
32143240 assert_eq ! ( node_a. list_balances( ) . spendable_onchain_balance_sats, premine_amount_sat) ;
32153241 assert_eq ! ( node_b. list_balances( ) . spendable_onchain_balance_sats, premine_amount_sat) ;
@@ -3240,7 +3266,7 @@ async fn onchain_send_receive_cbf() {
32403266
32413267 // Mine the transaction so CBF can see it.
32423268 generate_blocks_and_wait ( & bitcoind. client , & electrsd. client , 6 ) . await ;
3243- wait_for_cbf_sync ( & node_a) . await ;
3269+ wait_for_cbf_sync ( & node_a, || node_a . payment ( & PaymentId ( txid . to_byte_array ( ) ) ) . is_some ( ) ) . await ;
32443270 node_b. sync_wallets ( ) . unwrap ( ) ;
32453271
32463272 let payment_id = PaymentId ( txid. to_byte_array ( ) ) ;
@@ -3285,7 +3311,7 @@ async fn onchain_send_receive_cbf() {
32853311 wait_for_tx ( & electrsd. client , txid) . await ;
32863312
32873313 generate_blocks_and_wait ( & bitcoind. client , & electrsd. client , 6 ) . await ;
3288- wait_for_cbf_sync ( & node_a) . await ;
3314+ wait_for_cbf_sync ( & node_a, || node_a . list_balances ( ) . spendable_onchain_balance_sats == 0 ) . await ;
32893315 node_b. sync_wallets ( ) . unwrap ( ) ;
32903316
32913317 assert_eq ! ( node_a. list_balances( ) . spendable_onchain_balance_sats, 0 ) ;
0 commit comments