@@ -97,26 +97,25 @@ async fn single_header_with_unknown_prev_block_v1(#[case] seed: Seed) {
97
97
. build ( )
98
98
. await ;
99
99
100
- let peer = PeerId :: new ( ) ;
101
- node. connect_peer ( peer, protocol_version) . await ;
100
+ let peer = node. connect_peer ( PeerId :: new ( ) , protocol_version) . await ;
102
101
103
102
// The first attempt to send an unconnected header should trigger HeaderListRequest.
104
- node . send_headers ( peer , vec ! [ block_2. header( ) . clone( ) ] ) . await ;
103
+ peer . send_headers ( vec ! [ block_2. header( ) . clone( ) ] ) . await ;
105
104
106
105
// Note: we call assert_no_peer_manager_event twice; the last call is needed to make sure
107
106
// that the event is caught even if it's late; the first one just allows the test to fail
108
107
// faster if the event is not late.
109
108
node. assert_no_peer_manager_event ( ) . await ;
110
- let ( sent_to, message) = node. message ( ) . await ;
111
- assert_eq ! ( sent_to, peer) ;
109
+ let ( sent_to, message) = node. get_sent_message ( ) . await ;
110
+ assert_eq ! ( sent_to, peer. get_id ( ) ) ;
112
111
assert ! ( matches!( message, SyncMessage :: HeaderListRequest ( _) ) ) ;
113
112
node. assert_no_peer_manager_event ( ) . await ;
114
113
115
114
// The second attempt to send an unconnected header should increase the ban score.
116
- node . send_headers ( peer , vec ! [ block_2. header( ) . clone( ) ] ) . await ;
115
+ peer . send_headers ( vec ! [ block_2. header( ) . clone( ) ] ) . await ;
117
116
118
117
node. assert_peer_score_adjustment (
119
- peer,
118
+ peer. get_id ( ) ,
120
119
P2pError :: ProtocolError ( ProtocolError :: DisconnectedHeaders ) . ban_score ( ) ,
121
120
)
122
121
. await ;
@@ -186,35 +185,34 @@ async fn single_header_with_unknown_prev_block_with_intermittent_connected_heade
186
185
. build ( )
187
186
. await ;
188
187
189
- let peer = PeerId :: new ( ) ;
190
- node. connect_peer ( peer, protocol_version) . await ;
188
+ let peer = node. connect_peer ( PeerId :: new ( ) , protocol_version) . await ;
191
189
192
190
// The first attempt to send an unconnected header should trigger HeaderListRequest.
193
- node . send_headers ( peer , vec ! [ block_2. header( ) . clone( ) ] ) . await ;
191
+ peer . send_headers ( vec ! [ block_2. header( ) . clone( ) ] ) . await ;
194
192
195
193
node. assert_no_peer_manager_event ( ) . await ;
196
- let ( sent_to, message) = node. message ( ) . await ;
197
- assert_eq ! ( sent_to, peer) ;
194
+ let ( sent_to, message) = node. get_sent_message ( ) . await ;
195
+ assert_eq ! ( sent_to, peer. get_id ( ) ) ;
198
196
assert ! ( matches!( message, SyncMessage :: HeaderListRequest ( _) ) ) ;
199
197
node. assert_no_peer_manager_event ( ) . await ;
200
198
201
199
// Send a header with a known parent, the node should ask for blocks
202
- node . send_headers ( peer , vec ! [ block_11. header( ) . clone( ) ] ) . await ;
200
+ peer . send_headers ( vec ! [ block_11. header( ) . clone( ) ] ) . await ;
203
201
204
202
node. assert_no_peer_manager_event ( ) . await ;
205
- let ( sent_to, message) = node. message ( ) . await ;
206
- assert_eq ! ( sent_to, peer) ;
203
+ let ( sent_to, message) = node. get_sent_message ( ) . await ;
204
+ assert_eq ! ( sent_to, peer. get_id ( ) ) ;
207
205
assert ! ( matches!( message, SyncMessage :: BlockListRequest ( _) ) ) ;
208
206
node. assert_no_peer_manager_event ( ) . await ;
209
207
210
208
// The second attempt to send an unconnected header should again trigger HeaderListRequest,
211
209
// because a correct header list message was received between the attempts and the counter
212
210
// for the unconnected headers has been reset.
213
- node . send_headers ( peer , vec ! [ block_2. header( ) . clone( ) ] ) . await ;
211
+ peer . send_headers ( vec ! [ block_2. header( ) . clone( ) ] ) . await ;
214
212
215
213
node. assert_no_peer_manager_event ( ) . await ;
216
- let ( sent_to, message) = node. message ( ) . await ;
217
- assert_eq ! ( sent_to, peer) ;
214
+ let ( sent_to, message) = node. get_sent_message ( ) . await ;
215
+ assert_eq ! ( sent_to, peer. get_id ( ) ) ;
218
216
assert ! ( matches!( message, SyncMessage :: HeaderListRequest ( _) ) ) ;
219
217
node. assert_no_peer_manager_event ( ) . await ;
220
218
@@ -248,14 +246,13 @@ async fn single_header_with_unknown_prev_block_v2(#[case] seed: Seed) {
248
246
. build ( )
249
247
. await ;
250
248
251
- let peer = PeerId :: new ( ) ;
252
- node. connect_peer ( peer, protocol_version) . await ;
249
+ let peer = node. connect_peer ( PeerId :: new ( ) , protocol_version) . await ;
253
250
254
251
// Sending even 1 unconnected header should lead to ban score increase.
255
- node . send_headers ( peer , vec ! [ block_2. header( ) . clone( ) ] ) . await ;
252
+ peer . send_headers ( vec ! [ block_2. header( ) . clone( ) ] ) . await ;
256
253
257
254
node. assert_peer_score_adjustment (
258
- peer,
255
+ peer. get_id ( ) ,
259
256
P2pError :: ProtocolError ( ProtocolError :: DisconnectedHeaders ) . ban_score ( ) ,
260
257
)
261
258
. await ;
@@ -275,8 +272,7 @@ async fn invalid_timestamp() {
275
272
. build ( )
276
273
. await ;
277
274
278
- let peer = PeerId :: new ( ) ;
279
- node. connect_peer ( peer, protocol_version) . await ;
275
+ let peer = node. connect_peer ( PeerId :: new ( ) , protocol_version) . await ;
280
276
281
277
let block = Block :: new (
282
278
Vec :: new ( ) ,
@@ -286,14 +282,13 @@ async fn invalid_timestamp() {
286
282
BlockReward :: new ( Vec :: new ( ) ) ,
287
283
)
288
284
. unwrap ( ) ;
289
- node. send_message (
290
- peer,
291
- SyncMessage :: HeaderList ( HeaderList :: new ( vec ! [ block. header( ) . clone( ) ] ) ) ,
292
- )
293
- . await ;
285
+ peer. send_message ( SyncMessage :: HeaderList ( HeaderList :: new ( vec ! [ block
286
+ . header( )
287
+ . clone( ) ] ) ) )
288
+ . await ;
294
289
295
- let ( adjusted_peer, score) = node. adjust_peer_score_event ( ) . await ;
296
- assert_eq ! ( peer, adjusted_peer) ;
290
+ let ( adjusted_peer, score) = node. receive_adjust_peer_score_event ( ) . await ;
291
+ assert_eq ! ( peer. get_id ( ) , adjusted_peer) ;
297
292
assert_eq ! (
298
293
score,
299
294
P2pError :: ChainstateError ( ChainstateError :: ProcessBlockError (
@@ -327,8 +322,7 @@ async fn invalid_consensus_data() {
327
322
. build ( )
328
323
. await ;
329
324
330
- let peer = PeerId :: new ( ) ;
331
- node. connect_peer ( peer, protocol_version) . await ;
325
+ let peer = node. connect_peer ( PeerId :: new ( ) , protocol_version) . await ;
332
326
333
327
let block = Block :: new (
334
328
Vec :: new ( ) ,
@@ -338,14 +332,13 @@ async fn invalid_consensus_data() {
338
332
BlockReward :: new ( Vec :: new ( ) ) ,
339
333
)
340
334
. unwrap ( ) ;
341
- node. send_message (
342
- peer,
343
- SyncMessage :: HeaderList ( HeaderList :: new ( vec ! [ block. header( ) . clone( ) ] ) ) ,
344
- )
345
- . await ;
335
+ peer. send_message ( SyncMessage :: HeaderList ( HeaderList :: new ( vec ! [ block
336
+ . header( )
337
+ . clone( ) ] ) ) )
338
+ . await ;
346
339
347
- let ( adjusted_peer, score) = node. adjust_peer_score_event ( ) . await ;
348
- assert_eq ! ( peer, adjusted_peer) ;
340
+ let ( adjusted_peer, score) = node. receive_adjust_peer_score_event ( ) . await ;
341
+ assert_eq ! ( peer. get_id ( ) , adjusted_peer) ;
349
342
assert_eq ! (
350
343
score,
351
344
P2pError :: ChainstateError ( ChainstateError :: ProcessBlockError (
@@ -388,17 +381,16 @@ async fn multiple_headers_with_unknown_prev_block(#[case] seed: Seed) {
388
381
. build ( )
389
382
. await ;
390
383
391
- let peer = PeerId :: new ( ) ;
392
- node. connect_peer ( peer, protocol_version) . await ;
384
+ let peer = node. connect_peer ( PeerId :: new ( ) , protocol_version) . await ;
393
385
394
- node . send_headers (
395
- peer ,
396
- vec ! [ orphan_block1 . header ( ) . clone ( ) , orphan_block2. header( ) . clone( ) ] ,
397
- )
386
+ peer . send_headers ( vec ! [
387
+ orphan_block1 . header ( ) . clone ( ) ,
388
+ orphan_block2. header( ) . clone( ) ,
389
+ ] )
398
390
. await ;
399
391
400
392
node. assert_peer_score_adjustment (
401
- peer,
393
+ peer. get_id ( ) ,
402
394
P2pError :: ProtocolError ( ProtocolError :: DisconnectedHeaders ) . ban_score ( ) ,
403
395
)
404
396
. await ;
@@ -430,17 +422,15 @@ async fn valid_block(#[case] seed: Seed) {
430
422
. build ( )
431
423
. await ;
432
424
433
- let peer = PeerId :: new ( ) ;
434
- node. connect_peer ( peer, protocol_version) . await ;
425
+ let peer = node. connect_peer ( PeerId :: new ( ) , protocol_version) . await ;
435
426
436
- node. send_message (
437
- peer,
438
- SyncMessage :: HeaderList ( HeaderList :: new ( vec ! [ block. header( ) . clone( ) ] ) ) ,
439
- )
440
- . await ;
427
+ peer. send_message ( SyncMessage :: HeaderList ( HeaderList :: new ( vec ! [ block
428
+ . header( )
429
+ . clone( ) ] ) ) )
430
+ . await ;
441
431
442
- let ( sent_to, message) = node. message ( ) . await ;
443
- assert_eq ! ( sent_to, peer) ;
432
+ let ( sent_to, message) = node. get_sent_message ( ) . await ;
433
+ assert_eq ! ( sent_to, peer. get_id ( ) ) ;
444
434
assert_eq ! (
445
435
message,
446
436
SyncMessage :: BlockListRequest ( BlockListRequest :: new( vec![ block. get_id( ) ] ) )
@@ -479,8 +469,7 @@ async fn best_known_header_is_considered(#[case] seed: Seed) {
479
469
. build ( )
480
470
. await ;
481
471
482
- let peer = PeerId :: new ( ) ;
483
- node. connect_peer ( peer, protocol_version) . await ;
472
+ let peer = node. connect_peer ( PeerId :: new ( ) , protocol_version) . await ;
484
473
485
474
// Simulate the initial header exchange; make the peer send the node a locator containing
486
475
// the node's tip, so that it responds with an empty header list.
@@ -489,15 +478,14 @@ async fn best_known_header_is_considered(#[case] seed: Seed) {
489
478
{
490
479
let locator = node. get_locator_from_height ( 1 . into ( ) ) . await ;
491
480
492
- node. send_message (
493
- peer,
494
- SyncMessage :: HeaderListRequest ( HeaderListRequest :: new ( locator) ) ,
495
- )
481
+ peer. send_message ( SyncMessage :: HeaderListRequest ( HeaderListRequest :: new (
482
+ locator,
483
+ ) ) )
496
484
. await ;
497
485
498
486
log:: debug!( "Expecting initial header response" ) ;
499
- let ( sent_to, message) = node. message ( ) . await ;
500
- assert_eq ! ( sent_to, peer) ;
487
+ let ( sent_to, message) = node. get_sent_message ( ) . await ;
488
+ assert_eq ! ( sent_to, peer. get_id ( ) ) ;
501
489
assert_eq ! (
502
490
message,
503
491
SyncMessage :: HeaderList ( HeaderList :: new( Vec :: new( ) ) )
@@ -518,8 +506,8 @@ async fn best_known_header_is_considered(#[case] seed: Seed) {
518
506
. await ;
519
507
520
508
log:: debug!( "Expecting first announcement" ) ;
521
- let ( sent_to, message) = node. message ( ) . await ;
522
- assert_eq ! ( sent_to, peer) ;
509
+ let ( sent_to, message) = node. get_sent_message ( ) . await ;
510
+ assert_eq ! ( sent_to, peer. get_id ( ) ) ;
523
511
assert_eq ! (
524
512
message,
525
513
SyncMessage :: HeaderList ( HeaderList :: new( headers. clone( ) ) )
@@ -546,8 +534,8 @@ async fn best_known_header_is_considered(#[case] seed: Seed) {
546
534
. await ;
547
535
548
536
log:: debug!( "Expecting second announcement" ) ;
549
- let ( sent_to, message) = node. message ( ) . await ;
550
- assert_eq ! ( sent_to, peer) ;
537
+ let ( sent_to, message) = node. get_sent_message ( ) . await ;
538
+ assert_eq ! ( sent_to, peer. get_id ( ) ) ;
551
539
assert_eq ! (
552
540
message,
553
541
SyncMessage :: HeaderList ( HeaderList :: new( headers. clone( ) ) )
@@ -570,8 +558,8 @@ async fn best_known_header_is_considered(#[case] seed: Seed) {
570
558
. await ;
571
559
572
560
log:: debug!( "Expecting third announcement" ) ;
573
- let ( sent_to, message) = node. message ( ) . await ;
574
- assert_eq ! ( sent_to, peer) ;
561
+ let ( sent_to, message) = node. get_sent_message ( ) . await ;
562
+ assert_eq ! ( sent_to, peer. get_id ( ) ) ;
575
563
assert_eq ! (
576
564
message,
577
565
SyncMessage :: HeaderList ( HeaderList :: new( reorg_headers) )
0 commit comments