@@ -238,7 +238,7 @@ pub fn check_fault_injection(fault_name: &str) -> bool {
238
238
}
239
239
240
240
lazy_static ! {
241
- pub static ref STACKS_EPOCHS_MAINNET : [ StacksEpoch ; 9 ] = [
241
+ pub static ref STACKS_EPOCHS_MAINNET : EpochList = EpochList :: new ( & [
242
242
StacksEpoch {
243
243
epoch_id: StacksEpochId :: Epoch10 ,
244
244
start_height: 0 ,
@@ -302,11 +302,11 @@ lazy_static! {
302
302
block_limit: BLOCK_LIMIT_MAINNET_21 . clone( ) ,
303
303
network_epoch: PEER_VERSION_EPOCH_3_0
304
304
} ,
305
- ] ;
305
+ ] ) ;
306
306
}
307
307
308
308
lazy_static ! {
309
- pub static ref STACKS_EPOCHS_TESTNET : [ StacksEpoch ; 9 ] = [
309
+ pub static ref STACKS_EPOCHS_TESTNET : EpochList = EpochList :: new ( & [
310
310
StacksEpoch {
311
311
epoch_id: StacksEpochId :: Epoch10 ,
312
312
start_height: 0 ,
@@ -370,11 +370,11 @@ lazy_static! {
370
370
block_limit: BLOCK_LIMIT_MAINNET_21 . clone( ) ,
371
371
network_epoch: PEER_VERSION_EPOCH_3_0
372
372
} ,
373
- ] ;
373
+ ] ) ;
374
374
}
375
375
376
376
lazy_static ! {
377
- pub static ref STACKS_EPOCHS_REGTEST : [ StacksEpoch ; 9 ] = [
377
+ pub static ref STACKS_EPOCHS_REGTEST : EpochList = EpochList :: new ( & [
378
378
StacksEpoch {
379
379
epoch_id: StacksEpochId :: Epoch10 ,
380
380
start_height: 0 ,
@@ -438,7 +438,7 @@ lazy_static! {
438
438
block_limit: BLOCK_LIMIT_MAINNET_21 . clone( ) ,
439
439
network_epoch: PEER_VERSION_EPOCH_3_0
440
440
} ,
441
- ] ;
441
+ ] ) ;
442
442
}
443
443
444
444
/// Stacks 2.05 epoch marker. All block-commits in 2.05 must have a memo bitfield with this value
@@ -471,51 +471,183 @@ pub static STACKS_EPOCH_3_0_MARKER: u8 = 0x0b;
471
471
472
472
#[ test]
473
473
fn test_ord_for_stacks_epoch ( ) {
474
- let epochs = STACKS_EPOCHS_MAINNET . clone ( ) ;
475
- assert_eq ! ( epochs[ 0 ] . cmp( & epochs[ 1 ] ) , Ordering :: Less ) ;
476
- assert_eq ! ( epochs[ 1 ] . cmp( & epochs[ 2 ] ) , Ordering :: Less ) ;
477
- assert_eq ! ( epochs[ 0 ] . cmp( & epochs[ 2 ] ) , Ordering :: Less ) ;
478
- assert_eq ! ( epochs[ 0 ] . cmp( & epochs[ 0 ] ) , Ordering :: Equal ) ;
479
- assert_eq ! ( epochs[ 1 ] . cmp( & epochs[ 1 ] ) , Ordering :: Equal ) ;
480
- assert_eq ! ( epochs[ 2 ] . cmp( & epochs[ 2 ] ) , Ordering :: Equal ) ;
481
- assert_eq ! ( epochs[ 3 ] . cmp( & epochs[ 3 ] ) , Ordering :: Equal ) ;
482
- assert_eq ! ( epochs[ 4 ] . cmp( & epochs[ 4 ] ) , Ordering :: Equal ) ;
483
- assert_eq ! ( epochs[ 2 ] . cmp( & epochs[ 0 ] ) , Ordering :: Greater ) ;
484
- assert_eq ! ( epochs[ 2 ] . cmp( & epochs[ 1 ] ) , Ordering :: Greater ) ;
485
- assert_eq ! ( epochs[ 1 ] . cmp( & epochs[ 0 ] ) , Ordering :: Greater ) ;
486
- assert_eq ! ( epochs[ 3 ] . cmp( & epochs[ 0 ] ) , Ordering :: Greater ) ;
487
- assert_eq ! ( epochs[ 3 ] . cmp( & epochs[ 1 ] ) , Ordering :: Greater ) ;
488
- assert_eq ! ( epochs[ 3 ] . cmp( & epochs[ 2 ] ) , Ordering :: Greater ) ;
489
- assert_eq ! ( epochs[ 4 ] . cmp( & epochs[ 0 ] ) , Ordering :: Greater ) ;
490
- assert_eq ! ( epochs[ 4 ] . cmp( & epochs[ 1 ] ) , Ordering :: Greater ) ;
491
- assert_eq ! ( epochs[ 4 ] . cmp( & epochs[ 2 ] ) , Ordering :: Greater ) ;
492
- assert_eq ! ( epochs[ 4 ] . cmp( & epochs[ 3 ] ) , Ordering :: Greater ) ;
493
- assert_eq ! ( epochs[ 5 ] . cmp( & epochs[ 0 ] ) , Ordering :: Greater ) ;
494
- assert_eq ! ( epochs[ 5 ] . cmp( & epochs[ 1 ] ) , Ordering :: Greater ) ;
495
- assert_eq ! ( epochs[ 5 ] . cmp( & epochs[ 2 ] ) , Ordering :: Greater ) ;
496
- assert_eq ! ( epochs[ 5 ] . cmp( & epochs[ 3 ] ) , Ordering :: Greater ) ;
497
- assert_eq ! ( epochs[ 5 ] . cmp( & epochs[ 4 ] ) , Ordering :: Greater ) ;
498
- assert_eq ! ( epochs[ 6 ] . cmp( & epochs[ 0 ] ) , Ordering :: Greater ) ;
499
- assert_eq ! ( epochs[ 6 ] . cmp( & epochs[ 1 ] ) , Ordering :: Greater ) ;
500
- assert_eq ! ( epochs[ 6 ] . cmp( & epochs[ 2 ] ) , Ordering :: Greater ) ;
501
- assert_eq ! ( epochs[ 6 ] . cmp( & epochs[ 3 ] ) , Ordering :: Greater ) ;
502
- assert_eq ! ( epochs[ 6 ] . cmp( & epochs[ 4 ] ) , Ordering :: Greater ) ;
503
- assert_eq ! ( epochs[ 6 ] . cmp( & epochs[ 5 ] ) , Ordering :: Greater ) ;
504
- assert_eq ! ( epochs[ 7 ] . cmp( & epochs[ 0 ] ) , Ordering :: Greater ) ;
505
- assert_eq ! ( epochs[ 7 ] . cmp( & epochs[ 1 ] ) , Ordering :: Greater ) ;
506
- assert_eq ! ( epochs[ 7 ] . cmp( & epochs[ 2 ] ) , Ordering :: Greater ) ;
507
- assert_eq ! ( epochs[ 7 ] . cmp( & epochs[ 3 ] ) , Ordering :: Greater ) ;
508
- assert_eq ! ( epochs[ 7 ] . cmp( & epochs[ 4 ] ) , Ordering :: Greater ) ;
509
- assert_eq ! ( epochs[ 7 ] . cmp( & epochs[ 5 ] ) , Ordering :: Greater ) ;
510
- assert_eq ! ( epochs[ 7 ] . cmp( & epochs[ 6 ] ) , Ordering :: Greater ) ;
511
- assert_eq ! ( epochs[ 8 ] . cmp( & epochs[ 0 ] ) , Ordering :: Greater ) ;
512
- assert_eq ! ( epochs[ 8 ] . cmp( & epochs[ 1 ] ) , Ordering :: Greater ) ;
513
- assert_eq ! ( epochs[ 8 ] . cmp( & epochs[ 2 ] ) , Ordering :: Greater ) ;
514
- assert_eq ! ( epochs[ 8 ] . cmp( & epochs[ 3 ] ) , Ordering :: Greater ) ;
515
- assert_eq ! ( epochs[ 8 ] . cmp( & epochs[ 4 ] ) , Ordering :: Greater ) ;
516
- assert_eq ! ( epochs[ 8 ] . cmp( & epochs[ 5 ] ) , Ordering :: Greater ) ;
517
- assert_eq ! ( epochs[ 8 ] . cmp( & epochs[ 6 ] ) , Ordering :: Greater ) ;
518
- assert_eq ! ( epochs[ 8 ] . cmp( & epochs[ 7 ] ) , Ordering :: Greater ) ;
474
+ let epochs = & * STACKS_EPOCHS_MAINNET ;
475
+ assert_eq ! (
476
+ epochs[ StacksEpochId :: Epoch10 ] . cmp( & epochs[ StacksEpochId :: Epoch20 ] ) ,
477
+ Ordering :: Less
478
+ ) ;
479
+ assert_eq ! (
480
+ epochs[ StacksEpochId :: Epoch20 ] . cmp( & epochs[ StacksEpochId :: Epoch2_05 ] ) ,
481
+ Ordering :: Less
482
+ ) ;
483
+ assert_eq ! (
484
+ epochs[ StacksEpochId :: Epoch10 ] . cmp( & epochs[ StacksEpochId :: Epoch2_05 ] ) ,
485
+ Ordering :: Less
486
+ ) ;
487
+ assert_eq ! (
488
+ epochs[ StacksEpochId :: Epoch10 ] . cmp( & epochs[ StacksEpochId :: Epoch10 ] ) ,
489
+ Ordering :: Equal
490
+ ) ;
491
+ assert_eq ! (
492
+ epochs[ StacksEpochId :: Epoch20 ] . cmp( & epochs[ StacksEpochId :: Epoch20 ] ) ,
493
+ Ordering :: Equal
494
+ ) ;
495
+ assert_eq ! (
496
+ epochs[ StacksEpochId :: Epoch2_05 ] . cmp( & epochs[ StacksEpochId :: Epoch2_05 ] ) ,
497
+ Ordering :: Equal
498
+ ) ;
499
+ assert_eq ! (
500
+ epochs[ StacksEpochId :: Epoch21 ] . cmp( & epochs[ StacksEpochId :: Epoch21 ] ) ,
501
+ Ordering :: Equal
502
+ ) ;
503
+ assert_eq ! (
504
+ epochs[ StacksEpochId :: Epoch22 ] . cmp( & epochs[ StacksEpochId :: Epoch22 ] ) ,
505
+ Ordering :: Equal
506
+ ) ;
507
+ assert_eq ! (
508
+ epochs[ StacksEpochId :: Epoch2_05 ] . cmp( & epochs[ StacksEpochId :: Epoch10 ] ) ,
509
+ Ordering :: Greater
510
+ ) ;
511
+ assert_eq ! (
512
+ epochs[ StacksEpochId :: Epoch2_05 ] . cmp( & epochs[ StacksEpochId :: Epoch20 ] ) ,
513
+ Ordering :: Greater
514
+ ) ;
515
+ assert_eq ! (
516
+ epochs[ StacksEpochId :: Epoch20 ] . cmp( & epochs[ StacksEpochId :: Epoch10 ] ) ,
517
+ Ordering :: Greater
518
+ ) ;
519
+ assert_eq ! (
520
+ epochs[ StacksEpochId :: Epoch21 ] . cmp( & epochs[ StacksEpochId :: Epoch10 ] ) ,
521
+ Ordering :: Greater
522
+ ) ;
523
+ assert_eq ! (
524
+ epochs[ StacksEpochId :: Epoch21 ] . cmp( & epochs[ StacksEpochId :: Epoch20 ] ) ,
525
+ Ordering :: Greater
526
+ ) ;
527
+ assert_eq ! (
528
+ epochs[ StacksEpochId :: Epoch21 ] . cmp( & epochs[ StacksEpochId :: Epoch2_05 ] ) ,
529
+ Ordering :: Greater
530
+ ) ;
531
+ assert_eq ! (
532
+ epochs[ StacksEpochId :: Epoch22 ] . cmp( & epochs[ StacksEpochId :: Epoch10 ] ) ,
533
+ Ordering :: Greater
534
+ ) ;
535
+ assert_eq ! (
536
+ epochs[ StacksEpochId :: Epoch22 ] . cmp( & epochs[ StacksEpochId :: Epoch20 ] ) ,
537
+ Ordering :: Greater
538
+ ) ;
539
+ assert_eq ! (
540
+ epochs[ StacksEpochId :: Epoch22 ] . cmp( & epochs[ StacksEpochId :: Epoch2_05 ] ) ,
541
+ Ordering :: Greater
542
+ ) ;
543
+ assert_eq ! (
544
+ epochs[ StacksEpochId :: Epoch22 ] . cmp( & epochs[ StacksEpochId :: Epoch21 ] ) ,
545
+ Ordering :: Greater
546
+ ) ;
547
+ assert_eq ! (
548
+ epochs[ StacksEpochId :: Epoch23 ] . cmp( & epochs[ StacksEpochId :: Epoch10 ] ) ,
549
+ Ordering :: Greater
550
+ ) ;
551
+ assert_eq ! (
552
+ epochs[ StacksEpochId :: Epoch23 ] . cmp( & epochs[ StacksEpochId :: Epoch20 ] ) ,
553
+ Ordering :: Greater
554
+ ) ;
555
+ assert_eq ! (
556
+ epochs[ StacksEpochId :: Epoch23 ] . cmp( & epochs[ StacksEpochId :: Epoch2_05 ] ) ,
557
+ Ordering :: Greater
558
+ ) ;
559
+ assert_eq ! (
560
+ epochs[ StacksEpochId :: Epoch23 ] . cmp( & epochs[ StacksEpochId :: Epoch21 ] ) ,
561
+ Ordering :: Greater
562
+ ) ;
563
+ assert_eq ! (
564
+ epochs[ StacksEpochId :: Epoch23 ] . cmp( & epochs[ StacksEpochId :: Epoch22 ] ) ,
565
+ Ordering :: Greater
566
+ ) ;
567
+ assert_eq ! (
568
+ epochs[ StacksEpochId :: Epoch24 ] . cmp( & epochs[ StacksEpochId :: Epoch10 ] ) ,
569
+ Ordering :: Greater
570
+ ) ;
571
+ assert_eq ! (
572
+ epochs[ StacksEpochId :: Epoch24 ] . cmp( & epochs[ StacksEpochId :: Epoch20 ] ) ,
573
+ Ordering :: Greater
574
+ ) ;
575
+ assert_eq ! (
576
+ epochs[ StacksEpochId :: Epoch24 ] . cmp( & epochs[ StacksEpochId :: Epoch2_05 ] ) ,
577
+ Ordering :: Greater
578
+ ) ;
579
+ assert_eq ! (
580
+ epochs[ StacksEpochId :: Epoch24 ] . cmp( & epochs[ StacksEpochId :: Epoch21 ] ) ,
581
+ Ordering :: Greater
582
+ ) ;
583
+ assert_eq ! (
584
+ epochs[ StacksEpochId :: Epoch24 ] . cmp( & epochs[ StacksEpochId :: Epoch22 ] ) ,
585
+ Ordering :: Greater
586
+ ) ;
587
+ assert_eq ! (
588
+ epochs[ StacksEpochId :: Epoch24 ] . cmp( & epochs[ StacksEpochId :: Epoch23 ] ) ,
589
+ Ordering :: Greater
590
+ ) ;
591
+ assert_eq ! (
592
+ epochs[ StacksEpochId :: Epoch25 ] . cmp( & epochs[ StacksEpochId :: Epoch10 ] ) ,
593
+ Ordering :: Greater
594
+ ) ;
595
+ assert_eq ! (
596
+ epochs[ StacksEpochId :: Epoch25 ] . cmp( & epochs[ StacksEpochId :: Epoch20 ] ) ,
597
+ Ordering :: Greater
598
+ ) ;
599
+ assert_eq ! (
600
+ epochs[ StacksEpochId :: Epoch25 ] . cmp( & epochs[ StacksEpochId :: Epoch2_05 ] ) ,
601
+ Ordering :: Greater
602
+ ) ;
603
+ assert_eq ! (
604
+ epochs[ StacksEpochId :: Epoch25 ] . cmp( & epochs[ StacksEpochId :: Epoch21 ] ) ,
605
+ Ordering :: Greater
606
+ ) ;
607
+ assert_eq ! (
608
+ epochs[ StacksEpochId :: Epoch25 ] . cmp( & epochs[ StacksEpochId :: Epoch22 ] ) ,
609
+ Ordering :: Greater
610
+ ) ;
611
+ assert_eq ! (
612
+ epochs[ StacksEpochId :: Epoch25 ] . cmp( & epochs[ StacksEpochId :: Epoch23 ] ) ,
613
+ Ordering :: Greater
614
+ ) ;
615
+ assert_eq ! (
616
+ epochs[ StacksEpochId :: Epoch25 ] . cmp( & epochs[ StacksEpochId :: Epoch24 ] ) ,
617
+ Ordering :: Greater
618
+ ) ;
619
+ assert_eq ! (
620
+ epochs[ StacksEpochId :: Epoch30 ] . cmp( & epochs[ StacksEpochId :: Epoch10 ] ) ,
621
+ Ordering :: Greater
622
+ ) ;
623
+ assert_eq ! (
624
+ epochs[ StacksEpochId :: Epoch30 ] . cmp( & epochs[ StacksEpochId :: Epoch20 ] ) ,
625
+ Ordering :: Greater
626
+ ) ;
627
+ assert_eq ! (
628
+ epochs[ StacksEpochId :: Epoch30 ] . cmp( & epochs[ StacksEpochId :: Epoch2_05 ] ) ,
629
+ Ordering :: Greater
630
+ ) ;
631
+ assert_eq ! (
632
+ epochs[ StacksEpochId :: Epoch30 ] . cmp( & epochs[ StacksEpochId :: Epoch21 ] ) ,
633
+ Ordering :: Greater
634
+ ) ;
635
+ assert_eq ! (
636
+ epochs[ StacksEpochId :: Epoch30 ] . cmp( & epochs[ StacksEpochId :: Epoch22 ] ) ,
637
+ Ordering :: Greater
638
+ ) ;
639
+ assert_eq ! (
640
+ epochs[ StacksEpochId :: Epoch30 ] . cmp( & epochs[ StacksEpochId :: Epoch23 ] ) ,
641
+ Ordering :: Greater
642
+ ) ;
643
+ assert_eq ! (
644
+ epochs[ StacksEpochId :: Epoch30 ] . cmp( & epochs[ StacksEpochId :: Epoch24 ] ) ,
645
+ Ordering :: Greater
646
+ ) ;
647
+ assert_eq ! (
648
+ epochs[ StacksEpochId :: Epoch30 ] . cmp( & epochs[ StacksEpochId :: Epoch25 ] ) ,
649
+ Ordering :: Greater
650
+ ) ;
519
651
}
520
652
521
653
#[ test]
0 commit comments