@@ -119,6 +119,12 @@ struct ActivityParser {
119
119
pub amount_msat : Amount ,
120
120
}
121
121
122
+ struct ActivityValidationParams {
123
+ activity : Vec < ActivityParser > ,
124
+ pk_node_map : HashMap < PublicKey , NodeInfo > ,
125
+ alias_node_map : HashMap < String , NodeInfo >
126
+ }
127
+
122
128
impl TryFrom < & Cli > for SimulationCfg {
123
129
type Error = anyhow:: Error ;
124
130
@@ -169,7 +175,15 @@ pub async fn create_simulation(cli: &Cli) -> Result<Simulation, anyhow::Error> {
169
175
) )
170
176
} ;
171
177
172
- let validated_activities = validate_activities ( activity, & clients_info, get_node) . await ?;
178
+ let ( pk_node_map, alias_node_map) = add_node_to_maps ( & clients_info) . await ?;
179
+
180
+ let activity_validation_params = ActivityValidationParams {
181
+ activity,
182
+ pk_node_map,
183
+ alias_node_map
184
+ } ;
185
+
186
+ let validated_activities = validate_activities ( activity_validation_params, get_node) . await ?;
173
187
let tasks = TaskTracker :: new ( ) ;
174
188
175
189
Ok ( Simulation :: new ( cfg, clients, validated_activities, tasks) )
@@ -250,12 +264,16 @@ async fn add_node_to_maps(
250
264
/// Validates a set of defined activities, cross-checking aliases and public keys against the set of clients that
251
265
/// have been configured.
252
266
async fn validate_activities (
253
- activity : Vec < ActivityParser > ,
254
- nodes : & HashMap < PublicKey , NodeInfo > ,
267
+ activity_validation_params : ActivityValidationParams ,
255
268
get_node_info : impl AsyncFn ( & PublicKey ) -> Result < NodeInfo , LightningError > ,
256
269
) -> Result < Vec < ActivityDefinition > , LightningError > {
257
270
let mut validated_activities = vec ! [ ] ;
258
- let ( pk_node_map, alias_node_map) = add_node_to_maps ( nodes) . await ?;
271
+
272
+ let ActivityValidationParams {
273
+ activity,
274
+ pk_node_map,
275
+ alias_node_map
276
+ } = activity_validation_params;
259
277
260
278
// Make all the activities identifiable by PK internally
261
279
for act in activity. into_iter ( ) {
0 commit comments