@@ -5,6 +5,7 @@ use mithril_common::crypto_helper::ProtocolGenesisSigner;
5
5
use mithril_common:: era:: adapters:: EraReaderAdapterType ;
6
6
use mithril_doc:: { Documenter , DocumenterDefault , StructDoc } ;
7
7
use serde:: { Deserialize , Serialize } ;
8
+ use std:: collections:: BTreeSet ;
8
9
use std:: path:: PathBuf ;
9
10
use std:: str:: FromStr ;
10
11
@@ -267,11 +268,11 @@ impl Configuration {
267
268
/// The signed entity types are discarded if they are not declared in the [SignedEntityType] enum.
268
269
pub fn list_allowed_signed_entity_types_discriminants (
269
270
& self ,
270
- ) -> StdResult < Vec < SignedEntityTypeDiscriminants > > {
271
- let default_discriminants = vec ! [
271
+ ) -> StdResult < BTreeSet < SignedEntityTypeDiscriminants > > {
272
+ let default_discriminants = BTreeSet :: from ( [
272
273
SignedEntityTypeDiscriminants :: MithrilStakeDistribution ,
273
274
SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
274
- ] ;
275
+ ] ) ;
275
276
276
277
let mut all_discriminants = default_discriminants;
277
278
@@ -280,9 +281,7 @@ impl Configuration {
280
281
. split ( ',' )
281
282
. filter_map ( |name| SignedEntityTypeDiscriminants :: from_str ( name. trim ( ) ) . ok ( ) )
282
283
{
283
- if !all_discriminants. contains ( & discriminant) {
284
- all_discriminants. push ( discriminant)
285
- }
284
+ all_discriminants. insert ( discriminant) ;
286
285
}
287
286
288
287
Ok ( all_discriminants)
@@ -538,10 +537,10 @@ mod test {
538
537
. unwrap ( ) ;
539
538
540
539
assert_eq ! (
541
- vec! [
540
+ BTreeSet :: from ( [
542
541
SignedEntityTypeDiscriminants :: MithrilStakeDistribution ,
543
542
SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
544
- ] ,
543
+ ] ) ,
545
544
discriminants
546
545
) ;
547
546
}
@@ -559,10 +558,10 @@ mod test {
559
558
. unwrap ( ) ;
560
559
561
560
assert_eq ! (
562
- vec! [
561
+ BTreeSet :: from ( [
563
562
SignedEntityTypeDiscriminants :: MithrilStakeDistribution ,
564
563
SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
565
- ] ,
564
+ ] ) ,
566
565
discriminants
567
566
) ;
568
567
}
@@ -583,10 +582,10 @@ mod test {
583
582
. unwrap ( ) ;
584
583
585
584
assert_eq ! (
586
- vec! [
585
+ BTreeSet :: from ( [
587
586
SignedEntityTypeDiscriminants :: MithrilStakeDistribution ,
588
587
SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
589
- ] ,
588
+ ] ) ,
590
589
discriminants
591
590
) ;
592
591
}
@@ -604,12 +603,12 @@ mod test {
604
603
. unwrap ( ) ;
605
604
606
605
assert_eq ! (
607
- vec! [
606
+ BTreeSet :: from ( [
608
607
SignedEntityTypeDiscriminants :: MithrilStakeDistribution ,
609
608
SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
610
609
SignedEntityTypeDiscriminants :: CardanoStakeDistribution ,
611
610
SignedEntityTypeDiscriminants :: CardanoTransactions ,
612
- ] ,
611
+ ] ) ,
613
612
discriminants
614
613
) ;
615
614
}
@@ -630,11 +629,11 @@ mod test {
630
629
. unwrap ( ) ;
631
630
632
631
assert_eq ! (
633
- vec! [
632
+ BTreeSet :: from ( [
634
633
SignedEntityTypeDiscriminants :: MithrilStakeDistribution ,
635
- SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
636
634
SignedEntityTypeDiscriminants :: CardanoStakeDistribution ,
637
- ] ,
635
+ SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
636
+ ] ) ,
638
637
discriminants
639
638
) ;
640
639
}
@@ -657,8 +656,8 @@ mod test {
657
656
assert_eq ! (
658
657
vec![
659
658
SignedEntityType :: MithrilStakeDistribution ( beacon. epoch) ,
660
- SignedEntityType :: CardanoImmutableFilesFull ( beacon. clone( ) ) ,
661
659
SignedEntityType :: CardanoStakeDistribution ( beacon. epoch) ,
660
+ SignedEntityType :: CardanoImmutableFilesFull ( beacon. clone( ) ) ,
662
661
SignedEntityType :: CardanoTransactions ( beacon. clone( ) ) ,
663
662
] ,
664
663
signed_entity_types
0 commit comments