@@ -323,6 +323,7 @@ impl<'a> InvariantExecutor<'a> {
323
323
& mut self ,
324
324
invariant_contract : InvariantContract < ' _ > ,
325
325
fuzz_fixtures : & FuzzFixtures ,
326
+ deployed_libs : & [ Address ] ,
326
327
progress : Option < & ProgressBar > ,
327
328
) -> Result < InvariantFuzzTestResult > {
328
329
// Throw an error to abort test run if the invariant function accepts input params
@@ -331,7 +332,7 @@ impl<'a> InvariantExecutor<'a> {
331
332
}
332
333
333
334
let ( invariant_test, invariant_strategy) =
334
- self . prepare_test ( & invariant_contract, fuzz_fixtures) ?;
335
+ self . prepare_test ( & invariant_contract, fuzz_fixtures, deployed_libs ) ?;
335
336
336
337
// Start timer for this invariant test.
337
338
let timer = FuzzTestTimer :: new ( self . config . timeout ) ;
@@ -506,15 +507,19 @@ impl<'a> InvariantExecutor<'a> {
506
507
& mut self ,
507
508
invariant_contract : & InvariantContract < ' _ > ,
508
509
fuzz_fixtures : & FuzzFixtures ,
510
+ deployed_libs : & [ Address ] ,
509
511
) -> Result < ( InvariantTest , impl Strategy < Value = BasicTxDetails > ) > {
510
512
// Finds out the chosen deployed contracts and/or senders.
511
513
self . select_contract_artifacts ( invariant_contract. address ) ?;
512
514
let ( targeted_senders, targeted_contracts) =
513
515
self . select_contracts_and_senders ( invariant_contract. address ) ?;
514
516
515
517
// Stores fuzz state for use with [fuzz_calldata_from_state].
516
- let fuzz_state =
517
- EvmFuzzState :: new ( self . executor . backend ( ) . mem_db ( ) , self . config . dictionary ) ;
518
+ let fuzz_state = EvmFuzzState :: new (
519
+ self . executor . backend ( ) . mem_db ( ) ,
520
+ self . config . dictionary ,
521
+ deployed_libs,
522
+ ) ;
518
523
519
524
// Creates the invariant strategy.
520
525
let strategy = invariant_strat (
0 commit comments