@@ -12,6 +12,7 @@ import {
12
12
NetworkConfig ,
13
13
} from 'hardhat/types' ;
14
14
import { createProvider } from 'hardhat/internal/core/providers/construction' ; // TODO harhdat argument types not from internal
15
+ import { LazyInitializationProviderAdapter } from "hardhat/internal/core/providers/lazy-initialization" ;
15
16
import { Deployment , ExtendedArtifact } from '../types' ;
16
17
import { extendEnvironment , task , subtask , extendConfig } from 'hardhat/config' ;
17
18
import { HARDHAT_NETWORK_NAME , HardhatPluginError } from 'hardhat/plugins' ;
@@ -298,6 +299,7 @@ extendEnvironment((env) => {
298
299
) ;
299
300
}
300
301
}
302
+ initCompanionNetworks ( env ) ;
301
303
log ( 'ready' ) ;
302
304
} ) ;
303
305
@@ -349,7 +351,7 @@ function setupExtraSolcSettings(settings: {
349
351
// addIfNotPresent(settings.outputSelection["*"][""], "ast");
350
352
}
351
353
352
- async function initCompanionNetworks ( hre : HardhatRuntimeEnvironment ) {
354
+ function initCompanionNetworks ( hre : HardhatRuntimeEnvironment ) {
353
355
hre . companionNetworks = { } ;
354
356
for ( const name of Object . keys ( hre . network . companionNetworks ) ) {
355
357
const networkName = hre . network . companionNetworks [ name ] ;
@@ -378,11 +380,13 @@ async function initCompanionNetworks(hre: HardhatRuntimeEnvironment) {
378
380
throw new Error ( `no network named ${ networkName } ` ) ;
379
381
}
380
382
381
- network . provider = await createProvider (
382
- hre . config ,
383
- networkName ,
384
- hre . artifacts
385
- ) ;
383
+ network . provider = new LazyInitializationProviderAdapter ( ( ) => {
384
+ return createProvider (
385
+ hre . config ,
386
+ networkName ,
387
+ hre . artifacts
388
+ ) ;
389
+ } )
386
390
387
391
const networkDeploymentsManager = new DeploymentsManager ( hre , network ) ;
388
392
deploymentsManager . addCompanionManager ( name , networkDeploymentsManager ) ;
@@ -443,7 +447,6 @@ subtask(TASK_DEPLOY_RUN_DEPLOY, 'deploy run only')
443
447
if ( typeof tags === 'string' ) {
444
448
tags = tags . split ( ',' ) ;
445
449
}
446
- await initCompanionNetworks ( hre ) ;
447
450
await deploymentsManager . runDeploy ( tags , {
448
451
log : args . log ,
449
452
resetMemory : false ,
0 commit comments