@@ -954,15 +954,7 @@ fn htlc_fail_async_shutdown() {
954
954
nodes[ 0 ] . node . handle_update_fail_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & updates_2. update_fail_htlcs [ 0 ] ) ;
955
955
commitment_signed_dance ! ( nodes[ 0 ] , nodes[ 1 ] , updates_2. commitment_signed, false , true ) ;
956
956
957
- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
958
- assert_eq ! ( events. len( ) , 1 ) ;
959
- match events[ 0 ] {
960
- Event :: PaymentFailed { ref payment_hash, ref rejected_by_dest, .. } => {
961
- assert_eq ! ( our_payment_hash, * payment_hash) ;
962
- assert ! ( !rejected_by_dest) ;
963
- } ,
964
- _ => panic ! ( "Unexpected event" ) ,
965
- }
957
+ expect_payment_failed ! ( nodes[ 0 ] , our_payment_hash, false ) ;
966
958
967
959
let msg_events = nodes[ 0 ] . node . get_and_clear_pending_msg_events ( ) ;
968
960
assert_eq ! ( msg_events. len( ) , 2 ) ;
@@ -1357,15 +1349,7 @@ fn holding_cell_htlc_counting() {
1357
1349
_ => panic ! ( "Unexpected event" ) ,
1358
1350
}
1359
1351
1360
- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
1361
- assert_eq ! ( events. len( ) , 1 ) ;
1362
- match events[ 0 ] {
1363
- Event :: PaymentFailed { payment_hash, rejected_by_dest, .. } => {
1364
- assert_eq ! ( payment_hash, payment_hash_2) ;
1365
- assert ! ( !rejected_by_dest) ;
1366
- } ,
1367
- _ => panic ! ( "Unexpected event" ) ,
1368
- }
1352
+ expect_payment_failed ! ( nodes[ 0 ] , payment_hash_2, false ) ;
1369
1353
1370
1354
// Now forward all the pending HTLCs and claim them back
1371
1355
nodes[ 2 ] . node . handle_update_add_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & initial_payment_event. msgs [ 0 ] ) ;
@@ -2255,15 +2239,7 @@ fn claim_htlc_outputs_shared_tx() {
2255
2239
nodes[ 1 ] . block_notifier . block_connected ( & Block { header, txdata : vec ! [ revoked_local_txn[ 0 ] . clone( ) ] } , 1 ) ;
2256
2240
check_added_monitors ! ( nodes[ 1 ] , 1 ) ;
2257
2241
connect_blocks ( & nodes[ 1 ] . block_notifier , ANTI_REORG_DELAY - 1 , 1 , true , header. bitcoin_hash ( ) ) ;
2258
-
2259
- let events = nodes[ 1 ] . node . get_and_clear_pending_events ( ) ;
2260
- assert_eq ! ( events. len( ) , 1 ) ;
2261
- match events[ 0 ] {
2262
- Event :: PaymentFailed { payment_hash, .. } => {
2263
- assert_eq ! ( payment_hash, payment_hash_2) ;
2264
- } ,
2265
- _ => panic ! ( "Unexpected event" ) ,
2266
- }
2242
+ expect_payment_failed ! ( nodes[ 1 ] , payment_hash_2, true ) ;
2267
2243
2268
2244
let node_txn = nodes[ 1 ] . tx_broadcaster . txn_broadcasted . lock ( ) . unwrap ( ) ;
2269
2245
assert_eq ! ( node_txn. len( ) , 3 ) ; // ChannelMonitor: penalty tx, ChannelManager: local commitment + HTLC-timeout
@@ -2328,15 +2304,7 @@ fn claim_htlc_outputs_single_tx() {
2328
2304
expect_pending_htlcs_forwardable_ignore ! ( nodes[ 0 ] ) ;
2329
2305
2330
2306
connect_blocks ( & nodes[ 1 ] . block_notifier , ANTI_REORG_DELAY - 1 , 200 , true , header. bitcoin_hash ( ) ) ;
2331
-
2332
- let events = nodes[ 1 ] . node . get_and_clear_pending_events ( ) ;
2333
- assert_eq ! ( events. len( ) , 1 ) ;
2334
- match events[ 0 ] {
2335
- Event :: PaymentFailed { payment_hash, .. } => {
2336
- assert_eq ! ( payment_hash, payment_hash_2) ;
2337
- } ,
2338
- _ => panic ! ( "Unexpected event" ) ,
2339
- }
2307
+ expect_payment_failed ! ( nodes[ 1 ] , payment_hash_2, true ) ;
2340
2308
2341
2309
let node_txn = nodes[ 1 ] . tx_broadcaster . txn_broadcasted . lock ( ) . unwrap ( ) ;
2342
2310
assert_eq ! ( node_txn. len( ) , 9 ) ;
@@ -2690,7 +2658,7 @@ fn test_simple_commitment_revoked_fail_backward() {
2690
2658
// Revoke the old state
2691
2659
claim_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] , & nodes[ 2 ] ] , payment_preimage, 3_000_000 ) ;
2692
2660
2693
- route_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] , & nodes[ 2 ] ] , 3000000 ) ;
2661
+ let ( _ , payment_hash ) = route_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] , & nodes[ 2 ] ] , 3000000 ) ;
2694
2662
2695
2663
let header = BlockHeader { version : 0x20000000 , prev_blockhash : Default :: default ( ) , merkle_root : Default :: default ( ) , time : 42 , bits : 42 , nonce : 42 } ;
2696
2664
nodes[ 1 ] . block_notifier . block_connected ( & Block { header, txdata : vec ! [ revoked_local_txn[ 0 ] . clone( ) ] } , 1 ) ;
@@ -2719,12 +2687,7 @@ fn test_simple_commitment_revoked_fail_backward() {
2719
2687
MessageSendEvent :: PaymentFailureNetworkUpdate { .. } => { } ,
2720
2688
_ => panic ! ( "Unexpected event" ) ,
2721
2689
}
2722
- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
2723
- assert_eq ! ( events. len( ) , 1 ) ;
2724
- match events[ 0 ] {
2725
- Event :: PaymentFailed { .. } => { } ,
2726
- _ => panic ! ( "Unexpected event" ) ,
2727
- }
2690
+ expect_payment_failed ! ( nodes[ 0 ] , payment_hash, false ) ;
2728
2691
} ,
2729
2692
_ => panic ! ( "Unexpected event" ) ,
2730
2693
}
@@ -3692,26 +3655,17 @@ fn test_htlc_timeout() {
3692
3655
3693
3656
nodes[ 0 ] . node . handle_update_fail_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & htlc_timeout_updates. update_fail_htlcs [ 0 ] ) ;
3694
3657
commitment_signed_dance ! ( nodes[ 0 ] , nodes[ 1 ] , htlc_timeout_updates. commitment_signed, false ) ;
3695
- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
3696
- match & events[ 0 ] {
3697
- & Event :: PaymentFailed { payment_hash, rejected_by_dest, error_code, ref error_data } => {
3698
- assert_eq ! ( payment_hash, our_payment_hash) ;
3699
- assert ! ( rejected_by_dest) ;
3700
- assert_eq ! ( error_code. unwrap( ) , 0x4000 | 15 ) ;
3701
- // 100_000 msat as u64, followed by a height of 123 as u32
3702
- assert_eq ! ( & error_data. as_ref( ) . unwrap( ) [ ..] , & [
3703
- ( ( 100_000u64 >> 7 * 8 ) & 0xff ) as u8 ,
3704
- ( ( 100_000u64 >> 6 * 8 ) & 0xff ) as u8 ,
3705
- ( ( 100_000u64 >> 5 * 8 ) & 0xff ) as u8 ,
3706
- ( ( 100_000u64 >> 4 * 8 ) & 0xff ) as u8 ,
3707
- ( ( 100_000u64 >> 3 * 8 ) & 0xff ) as u8 ,
3708
- ( ( 100_000u64 >> 2 * 8 ) & 0xff ) as u8 ,
3709
- ( ( 100_000u64 >> 1 * 8 ) & 0xff ) as u8 ,
3710
- ( ( 100_000u64 >> 0 * 8 ) & 0xff ) as u8 ,
3711
- 0 , 0 , 0 , 123 ] ) ;
3712
- } ,
3713
- _ => panic ! ( "Unexpected event" ) ,
3714
- }
3658
+ // 100_000 msat as u64, followed by a height of 123 as u32
3659
+ expect_payment_failed ! ( nodes[ 0 ] , our_payment_hash, true , 0x4000 | 15 , & [
3660
+ ( ( 100_000u64 >> 7 * 8 ) & 0xff ) as u8 ,
3661
+ ( ( 100_000u64 >> 6 * 8 ) & 0xff ) as u8 ,
3662
+ ( ( 100_000u64 >> 5 * 8 ) & 0xff ) as u8 ,
3663
+ ( ( 100_000u64 >> 4 * 8 ) & 0xff ) as u8 ,
3664
+ ( ( 100_000u64 >> 3 * 8 ) & 0xff ) as u8 ,
3665
+ ( ( 100_000u64 >> 2 * 8 ) & 0xff ) as u8 ,
3666
+ ( ( 100_000u64 >> 1 * 8 ) & 0xff ) as u8 ,
3667
+ ( ( 100_000u64 >> 0 * 8 ) & 0xff ) as u8 ,
3668
+ 0 , 0 , 0 , 123 ] ) ;
3715
3669
}
3716
3670
3717
3671
#[ test]
@@ -4337,14 +4291,7 @@ fn test_static_spendable_outputs_timeout_tx() {
4337
4291
let header_1 = BlockHeader { version : 0x20000000 , prev_blockhash : header. bitcoin_hash ( ) , merkle_root : Default :: default ( ) , time : 42 , bits : 42 , nonce : 42 } ;
4338
4292
nodes[ 1 ] . block_notifier . block_connected ( & Block { header : header_1, txdata : vec ! [ node_txn[ 0 ] . clone( ) ] } , 1 ) ;
4339
4293
connect_blocks ( & nodes[ 1 ] . block_notifier , ANTI_REORG_DELAY - 1 , 1 , true , header. bitcoin_hash ( ) ) ;
4340
- let events = nodes[ 1 ] . node . get_and_clear_pending_events ( ) ;
4341
- assert_eq ! ( events. len( ) , 1 ) ;
4342
- match events[ 0 ] {
4343
- Event :: PaymentFailed { payment_hash, .. } => {
4344
- assert_eq ! ( payment_hash, our_payment_hash) ;
4345
- } ,
4346
- _ => panic ! ( "Unexpected event" ) ,
4347
- }
4294
+ expect_payment_failed ! ( nodes[ 1 ] , our_payment_hash, true ) ;
4348
4295
4349
4296
let spend_txn = check_spendable_outputs ! ( nodes[ 1 ] , 1 ) ;
4350
4297
assert_eq ! ( spend_txn. len( ) , 3 ) ; // SpendableOutput: remote_commitment_tx.to_remote (*2), timeout_tx.output (*1)
@@ -4690,13 +4637,7 @@ fn test_duplicate_payment_hash_one_failure_one_success() {
4690
4637
_ => { panic ! ( "Unexpected event" ) ; }
4691
4638
}
4692
4639
}
4693
- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
4694
- match events[ 0 ] {
4695
- Event :: PaymentFailed { ref payment_hash, .. } => {
4696
- assert_eq ! ( * payment_hash, duplicate_payment_hash) ;
4697
- }
4698
- _ => panic ! ( "Unexpected event" ) ,
4699
- }
4640
+ expect_payment_failed ! ( nodes[ 0 ] , duplicate_payment_hash, false ) ;
4700
4641
4701
4642
// Solve 2nd HTLC by broadcasting on B's chain HTLC-Success Tx from C
4702
4643
nodes[ 1 ] . block_notifier . block_connected ( & Block { header, txdata : vec ! [ htlc_success_txn[ 0 ] . clone( ) ] } , 200 ) ;
@@ -5054,14 +4995,7 @@ fn test_dynamic_spendable_outputs_local_htlc_timeout_tx() {
5054
4995
let header_201 = BlockHeader { version : 0x20000000 , prev_blockhash : header. bitcoin_hash ( ) , merkle_root : Default :: default ( ) , time : 42 , bits : 42 , nonce : 42 } ;
5055
4996
nodes[ 0 ] . block_notifier . block_connected ( & Block { header : header_201, txdata : vec ! [ htlc_timeout. clone( ) ] } , 201 ) ;
5056
4997
connect_blocks ( & nodes[ 0 ] . block_notifier , ANTI_REORG_DELAY - 1 , 201 , true , header_201. bitcoin_hash ( ) ) ;
5057
- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
5058
- assert_eq ! ( events. len( ) , 1 ) ;
5059
- match events[ 0 ] {
5060
- Event :: PaymentFailed { payment_hash, .. } => {
5061
- assert_eq ! ( payment_hash, our_payment_hash) ;
5062
- } ,
5063
- _ => panic ! ( "Unexpected event" ) ,
5064
- }
4998
+ expect_payment_failed ! ( nodes[ 0 ] , our_payment_hash, true ) ;
5065
4999
5066
5000
// Verify that A is able to spend its own HTLC-Timeout tx thanks to spendable output event given back by its ChannelMonitor
5067
5001
let spend_txn = check_spendable_outputs ! ( nodes[ 0 ] , 1 ) ;
@@ -5212,15 +5146,7 @@ fn do_htlc_claim_previous_remote_commitment_only(use_dust: bool, check_revoke_no
5212
5146
check_closed_broadcast ! ( nodes[ 0 ] , false ) ;
5213
5147
check_added_monitors ! ( nodes[ 0 ] , 1 ) ;
5214
5148
} else {
5215
- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
5216
- assert_eq ! ( events. len( ) , 1 ) ;
5217
- match events[ 0 ] {
5218
- Event :: PaymentFailed { payment_hash, rejected_by_dest, .. } => {
5219
- assert_eq ! ( payment_hash, our_payment_hash) ;
5220
- assert ! ( rejected_by_dest) ;
5221
- } ,
5222
- _ => panic ! ( "Unexpected event" ) ,
5223
- }
5149
+ expect_payment_failed ! ( nodes[ 0 ] , our_payment_hash, true ) ;
5224
5150
}
5225
5151
}
5226
5152
@@ -6583,29 +6509,15 @@ fn do_test_sweep_outbound_htlc_failure_update(revoked: bool, local: bool) {
6583
6509
assert_eq ! ( nodes[ 0 ] . node. get_and_clear_pending_events( ) . len( ) , 0 ) ;
6584
6510
timeout_tx. push ( nodes[ 0 ] . tx_broadcaster . txn_broadcasted . lock ( ) . unwrap ( ) [ 0 ] . clone ( ) ) ;
6585
6511
let parent_hash = connect_blocks ( & nodes[ 0 ] . block_notifier , ANTI_REORG_DELAY - 1 , 2 , true , header. bitcoin_hash ( ) ) ;
6586
- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
6587
- assert_eq ! ( events. len( ) , 1 ) ;
6588
- match events[ 0 ] {
6589
- Event :: PaymentFailed { payment_hash, .. } => {
6590
- assert_eq ! ( payment_hash, dust_hash) ;
6591
- } ,
6592
- _ => panic ! ( "Unexpected event" ) ,
6593
- }
6512
+ expect_payment_failed ! ( nodes[ 0 ] , dust_hash, true ) ;
6594
6513
assert_eq ! ( timeout_tx[ 0 ] . input[ 0 ] . witness. last( ) . unwrap( ) . len( ) , OFFERED_HTLC_SCRIPT_WEIGHT ) ;
6595
6514
// We fail non-dust-HTLC 2 by broadcast of local HTLC-timeout tx on local commitment tx
6596
6515
let header_2 = BlockHeader { version : 0x20000000 , prev_blockhash : parent_hash, merkle_root : Default :: default ( ) , time : 42 , bits : 42 , nonce : 42 } ;
6597
6516
assert_eq ! ( nodes[ 0 ] . node. get_and_clear_pending_events( ) . len( ) , 0 ) ;
6598
6517
nodes[ 0 ] . block_notifier . block_connected ( & Block { header : header_2, txdata : vec ! [ timeout_tx[ 0 ] . clone( ) ] } , 7 ) ;
6599
6518
let header_3 = BlockHeader { version : 0x20000000 , prev_blockhash : header_2. bitcoin_hash ( ) , merkle_root : Default :: default ( ) , time : 42 , bits : 42 , nonce : 42 } ;
6600
6519
connect_blocks ( & nodes[ 0 ] . block_notifier , ANTI_REORG_DELAY - 1 , 8 , true , header_3. bitcoin_hash ( ) ) ;
6601
- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
6602
- assert_eq ! ( events. len( ) , 1 ) ;
6603
- match events[ 0 ] {
6604
- Event :: PaymentFailed { payment_hash, .. } => {
6605
- assert_eq ! ( payment_hash, non_dust_hash) ;
6606
- } ,
6607
- _ => panic ! ( "Unexpected event" ) ,
6608
- }
6520
+ expect_payment_failed ! ( nodes[ 0 ] , non_dust_hash, true ) ;
6609
6521
} else {
6610
6522
// We fail dust-HTLC 1 by broadcast of remote commitment tx. If revoked, fail also non-dust HTLC
6611
6523
nodes[ 0 ] . block_notifier . block_connected ( & Block { header, txdata : vec ! [ bs_commitment_tx[ 0 ] . clone( ) ] } , 1 ) ;
@@ -6616,28 +6528,14 @@ fn do_test_sweep_outbound_htlc_failure_update(revoked: bool, local: bool) {
6616
6528
let parent_hash = connect_blocks ( & nodes[ 0 ] . block_notifier , ANTI_REORG_DELAY - 1 , 2 , true , header. bitcoin_hash ( ) ) ;
6617
6529
let header_2 = BlockHeader { version : 0x20000000 , prev_blockhash : parent_hash, merkle_root : Default :: default ( ) , time : 42 , bits : 42 , nonce : 42 } ;
6618
6530
if !revoked {
6619
- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
6620
- assert_eq ! ( events. len( ) , 1 ) ;
6621
- match events[ 0 ] {
6622
- Event :: PaymentFailed { payment_hash, .. } => {
6623
- assert_eq ! ( payment_hash, dust_hash) ;
6624
- } ,
6625
- _ => panic ! ( "Unexpected event" ) ,
6626
- }
6531
+ expect_payment_failed ! ( nodes[ 0 ] , dust_hash, true ) ;
6627
6532
assert_eq ! ( timeout_tx[ 0 ] . input[ 0 ] . witness. last( ) . unwrap( ) . len( ) , ACCEPTED_HTLC_SCRIPT_WEIGHT ) ;
6628
6533
// We fail non-dust-HTLC 2 by broadcast of local timeout tx on remote commitment tx
6629
6534
nodes[ 0 ] . block_notifier . block_connected ( & Block { header : header_2, txdata : vec ! [ timeout_tx[ 0 ] . clone( ) ] } , 7 ) ;
6630
6535
assert_eq ! ( nodes[ 0 ] . node. get_and_clear_pending_events( ) . len( ) , 0 ) ;
6631
6536
let header_3 = BlockHeader { version : 0x20000000 , prev_blockhash : header_2. bitcoin_hash ( ) , merkle_root : Default :: default ( ) , time : 42 , bits : 42 , nonce : 42 } ;
6632
6537
connect_blocks ( & nodes[ 0 ] . block_notifier , ANTI_REORG_DELAY - 1 , 8 , true , header_3. bitcoin_hash ( ) ) ;
6633
- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
6634
- assert_eq ! ( events. len( ) , 1 ) ;
6635
- match events[ 0 ] {
6636
- Event :: PaymentFailed { payment_hash, .. } => {
6637
- assert_eq ! ( payment_hash, non_dust_hash) ;
6638
- } ,
6639
- _ => panic ! ( "Unexpected event" ) ,
6640
- }
6538
+ expect_payment_failed ! ( nodes[ 0 ] , non_dust_hash, true ) ;
6641
6539
} else {
6642
6540
// If revoked, both dust & non-dust HTLCs should have been failed after ANTI_REORG_DELAY confs of revoked
6643
6541
// commitment tx
@@ -6943,7 +6841,7 @@ fn test_check_htlc_underpaying() {
6943
6841
// Create some initial channels
6944
6842
create_announced_chan_between_nodes ( & nodes, 0 , 1 , InitFeatures :: supported ( ) , InitFeatures :: supported ( ) ) ;
6945
6843
6946
- let ( payment_preimage, _ ) = route_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] ] , 10_000 ) ;
6844
+ let ( payment_preimage, payment_hash ) = route_payment ( & nodes[ 0 ] , & [ & nodes[ 1 ] ] , 10_000 ) ;
6947
6845
6948
6846
// Node 3 is expecting payment of 100_000 but receive 10_000,
6949
6847
// fail htlc like we didn't know the preimage.
@@ -6968,25 +6866,17 @@ fn test_check_htlc_underpaying() {
6968
6866
nodes[ 0 ] . node . handle_update_fail_htlc ( & nodes[ 1 ] . node . get_our_node_id ( ) , & update_fail_htlc) ;
6969
6867
commitment_signed_dance ! ( nodes[ 0 ] , nodes[ 1 ] , commitment_signed, false , true ) ;
6970
6868
6971
- let events = nodes[ 0 ] . node . get_and_clear_pending_events ( ) ;
6972
- assert_eq ! ( events. len( ) , 1 ) ;
6973
- if let & Event :: PaymentFailed { payment_hash : _, ref rejected_by_dest, ref error_code, ref error_data } = & events[ 0 ] {
6974
- assert_eq ! ( * rejected_by_dest, true ) ;
6975
- assert_eq ! ( error_code. unwrap( ) , 0x4000 |15 ) ;
6976
- // 10_000 msat as u64, followed by a height of 99 as u32
6977
- assert_eq ! ( & error_data. as_ref( ) . unwrap( ) [ ..] , & [
6978
- ( ( 10_000u64 >> 7 * 8 ) & 0xff ) as u8 ,
6979
- ( ( 10_000u64 >> 6 * 8 ) & 0xff ) as u8 ,
6980
- ( ( 10_000u64 >> 5 * 8 ) & 0xff ) as u8 ,
6981
- ( ( 10_000u64 >> 4 * 8 ) & 0xff ) as u8 ,
6982
- ( ( 10_000u64 >> 3 * 8 ) & 0xff ) as u8 ,
6983
- ( ( 10_000u64 >> 2 * 8 ) & 0xff ) as u8 ,
6984
- ( ( 10_000u64 >> 1 * 8 ) & 0xff ) as u8 ,
6985
- ( ( 10_000u64 >> 0 * 8 ) & 0xff ) as u8 ,
6986
- 0 , 0 , 0 , 99 ] ) ;
6987
- } else {
6988
- panic ! ( "Unexpected event" ) ;
6989
- }
6869
+ // 10_000 msat as u64, followed by a height of 99 as u32
6870
+ expect_payment_failed ! ( nodes[ 0 ] , payment_hash, true , 0x4000 |15 , & [
6871
+ ( ( 10_000u64 >> 7 * 8 ) & 0xff ) as u8 ,
6872
+ ( ( 10_000u64 >> 6 * 8 ) & 0xff ) as u8 ,
6873
+ ( ( 10_000u64 >> 5 * 8 ) & 0xff ) as u8 ,
6874
+ ( ( 10_000u64 >> 4 * 8 ) & 0xff ) as u8 ,
6875
+ ( ( 10_000u64 >> 3 * 8 ) & 0xff ) as u8 ,
6876
+ ( ( 10_000u64 >> 2 * 8 ) & 0xff ) as u8 ,
6877
+ ( ( 10_000u64 >> 1 * 8 ) & 0xff ) as u8 ,
6878
+ ( ( 10_000u64 >> 0 * 8 ) & 0xff ) as u8 ,
6879
+ 0 , 0 , 0 , 99 ] ) ;
6990
6880
nodes[ 1 ] . node . get_and_clear_pending_events ( ) ;
6991
6881
}
6992
6882
0 commit comments