@@ -84,9 +84,9 @@ public interface Listener {
84
84
private final ConfigFileEditor configFileEditor ;
85
85
private final ProvidersRepository providersRepository ;
86
86
private final boolean ignoreDevMsg ;
87
+ private final boolean useDevPrivilegeKeys ;
87
88
private final ObjectProperty <Filter > filterProperty = new SimpleObjectProperty <>();
88
89
private final List <Listener > listeners = new CopyOnWriteArrayList <>();
89
- private final List <String > publicKeys ;
90
90
private ECKey filterSigningKey ;
91
91
private final Set <Filter > invalidFilters = new HashSet <>();
92
92
private Consumer <String > filterWarningHandler ;
@@ -113,16 +113,31 @@ public FilterManager(P2PService p2PService,
113
113
this .configFileEditor = new ConfigFileEditor (config .configFile );
114
114
this .providersRepository = providersRepository ;
115
115
this .ignoreDevMsg = ignoreDevMsg ;
116
-
117
- publicKeys = useDevPrivilegeKeys ?
118
- Collections .singletonList (DevEnv .DEV_PRIVILEGE_PUB_KEY ) :
119
- List .of ("0358d47858acdc41910325fce266571540681ef83a0d6fedce312bef9810793a27" ,
120
- "029340c3e7d4bb0f9e651b5f590b434fecb6175aeaa57145c7804ff05d210e534f" ,
121
- "034dc7530bf66ffd9580aa98031ea9a18ac2d269f7c56c0e71eca06105b9ed69f9" );
116
+ this .useDevPrivilegeKeys = useDevPrivilegeKeys ;
122
117
123
118
banFilter .setBannedNodePredicate (this ::isNodeAddressBannedFromNetwork );
124
119
}
125
120
121
+ protected List <String > getPubKeyList () {
122
+ switch (Config .baseCurrencyNetwork ()) {
123
+ case XMR_LOCAL :
124
+ if (useDevPrivilegeKeys ) return Collections .singletonList (DevEnv .DEV_PRIVILEGE_PUB_KEY );
125
+ return List .of (
126
+ "027a381b5333a56e1cc3d90d3a7d07f26509adf7029ed06fc997c656621f8da1ee" ,
127
+ "024baabdba90e7cc0dc4626ef73ea9d722ea7085d1104491da8c76f28187513492" ,
128
+ "026eeec3c119dd6d537249d74e5752a642dd2c3cc5b6a9b44588eb58344f29b519" );
129
+ case XMR_STAGENET :
130
+ return List .of (
131
+ "03aa23e062afa0dda465f46986f8aa8d0374ad3e3f256141b05681dcb1e39c3859" ,
132
+ "02d3beb1293ca2ca14e6d42ca8bd18089a62aac62fd6bb23923ee6ead46ac60fba" ,
133
+ "0374dd70f3fa6e47ec5ab97932e1cec6233e98e6ae3129036b17118650c44fd3de" );
134
+ case XMR_MAINNET :
135
+ return List .of ();
136
+ default :
137
+ throw new RuntimeException ("Unhandled base currency network: " + Config .baseCurrencyNetwork ());
138
+ }
139
+ }
140
+
126
141
127
142
///////////////////////////////////////////////////////////////////////////////////////////
128
143
// API
@@ -587,16 +602,16 @@ private boolean isFilterPublicKeyInList(Filter filter) {
587
602
"but the new version does not recognize it as valid filter): " +
588
603
"signerPubKeyAsHex from filter is not part of our pub key list. " +
589
604
"signerPubKeyAsHex={}, publicKeys={}, filterCreationDate={}" ,
590
- signerPubKeyAsHex , publicKeys , new Date (filter .getCreationDate ()));
605
+ signerPubKeyAsHex , getPubKeyList () , new Date (filter .getCreationDate ()));
591
606
return false ;
592
607
}
593
608
return true ;
594
609
}
595
610
596
611
private boolean isPublicKeyInList (String pubKeyAsHex ) {
597
- boolean isPublicKeyInList = publicKeys .contains (pubKeyAsHex );
612
+ boolean isPublicKeyInList = getPubKeyList () .contains (pubKeyAsHex );
598
613
if (!isPublicKeyInList ) {
599
- log .info ("pubKeyAsHex is not part of our pub key list (expected case for pre v1.3.9 filter). pubKeyAsHex={}, publicKeys={}" , pubKeyAsHex , publicKeys );
614
+ log .info ("pubKeyAsHex is not part of our pub key list (expected case for pre v1.3.9 filter). pubKeyAsHex={}, publicKeys={}" , pubKeyAsHex , getPubKeyList () );
600
615
}
601
616
return isPublicKeyInList ;
602
617
}
0 commit comments