@@ -5,6 +5,7 @@ use mithril_common::crypto_helper::ProtocolGenesisSigner;
55use mithril_common:: era:: adapters:: EraReaderAdapterType ;
66use mithril_doc:: { Documenter , DocumenterDefault , StructDoc } ;
77use serde:: { Deserialize , Serialize } ;
8+ use std:: collections:: BTreeSet ;
89use std:: path:: PathBuf ;
910use std:: str:: FromStr ;
1011
@@ -267,11 +268,11 @@ impl Configuration {
267268 /// The signed entity types are discarded if they are not declared in the [SignedEntityType] enum.
268269 pub fn list_allowed_signed_entity_types_discriminants (
269270 & self ,
270- ) -> StdResult < Vec < SignedEntityTypeDiscriminants > > {
271- let default_discriminants = vec ! [
271+ ) -> StdResult < BTreeSet < SignedEntityTypeDiscriminants > > {
272+ let default_discriminants = BTreeSet :: from ( [
272273 SignedEntityTypeDiscriminants :: MithrilStakeDistribution ,
273274 SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
274- ] ;
275+ ] ) ;
275276
276277 let mut all_discriminants = default_discriminants;
277278
@@ -280,9 +281,7 @@ impl Configuration {
280281 . split ( ',' )
281282 . filter_map ( |name| SignedEntityTypeDiscriminants :: from_str ( name. trim ( ) ) . ok ( ) )
282283 {
283- if !all_discriminants. contains ( & discriminant) {
284- all_discriminants. push ( discriminant)
285- }
284+ all_discriminants. insert ( discriminant) ;
286285 }
287286
288287 Ok ( all_discriminants)
@@ -538,10 +537,10 @@ mod test {
538537 . unwrap ( ) ;
539538
540539 assert_eq ! (
541- vec! [
540+ BTreeSet :: from ( [
542541 SignedEntityTypeDiscriminants :: MithrilStakeDistribution ,
543542 SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
544- ] ,
543+ ] ) ,
545544 discriminants
546545 ) ;
547546 }
@@ -559,10 +558,10 @@ mod test {
559558 . unwrap ( ) ;
560559
561560 assert_eq ! (
562- vec! [
561+ BTreeSet :: from ( [
563562 SignedEntityTypeDiscriminants :: MithrilStakeDistribution ,
564563 SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
565- ] ,
564+ ] ) ,
566565 discriminants
567566 ) ;
568567 }
@@ -583,10 +582,10 @@ mod test {
583582 . unwrap ( ) ;
584583
585584 assert_eq ! (
586- vec! [
585+ BTreeSet :: from ( [
587586 SignedEntityTypeDiscriminants :: MithrilStakeDistribution ,
588587 SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
589- ] ,
588+ ] ) ,
590589 discriminants
591590 ) ;
592591 }
@@ -604,12 +603,12 @@ mod test {
604603 . unwrap ( ) ;
605604
606605 assert_eq ! (
607- vec! [
606+ BTreeSet :: from ( [
608607 SignedEntityTypeDiscriminants :: MithrilStakeDistribution ,
609608 SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
610609 SignedEntityTypeDiscriminants :: CardanoStakeDistribution ,
611610 SignedEntityTypeDiscriminants :: CardanoTransactions ,
612- ] ,
611+ ] ) ,
613612 discriminants
614613 ) ;
615614 }
@@ -630,11 +629,11 @@ mod test {
630629 . unwrap ( ) ;
631630
632631 assert_eq ! (
633- vec! [
632+ BTreeSet :: from ( [
634633 SignedEntityTypeDiscriminants :: MithrilStakeDistribution ,
635- SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
636634 SignedEntityTypeDiscriminants :: CardanoStakeDistribution ,
637- ] ,
635+ SignedEntityTypeDiscriminants :: CardanoImmutableFilesFull ,
636+ ] ) ,
638637 discriminants
639638 ) ;
640639 }
@@ -657,8 +656,8 @@ mod test {
657656 assert_eq ! (
658657 vec![
659658 SignedEntityType :: MithrilStakeDistribution ( beacon. epoch) ,
660- SignedEntityType :: CardanoImmutableFilesFull ( beacon. clone( ) ) ,
661659 SignedEntityType :: CardanoStakeDistribution ( beacon. epoch) ,
660+ SignedEntityType :: CardanoImmutableFilesFull ( beacon. clone( ) ) ,
662661 SignedEntityType :: CardanoTransactions ( beacon. clone( ) ) ,
663662 ] ,
664663 signed_entity_types
0 commit comments