diff options
Diffstat (limited to 'packages')
-rw-r--r-- | packages/dev-utils/CHANGELOG.json | 9 | ||||
-rw-r--r-- | packages/dev-utils/src/web3_factory.ts | 7 |
2 files changed, 14 insertions, 2 deletions
diff --git a/packages/dev-utils/CHANGELOG.json b/packages/dev-utils/CHANGELOG.json index ce6cfede5..cbeb2e74f 100644 --- a/packages/dev-utils/CHANGELOG.json +++ b/packages/dev-utils/CHANGELOG.json @@ -1,5 +1,14 @@ [ { + "version": "2.1.0", + "changes": [ + { + "note": "Allow using the Web3Factory in-process Ganache provider with existing DB snapshot", + "pr": 1602 + } + ] + }, + { "version": "2.0.2", "changes": [ { diff --git a/packages/dev-utils/src/web3_factory.ts b/packages/dev-utils/src/web3_factory.ts index 5f8981a46..3fa3c19f7 100644 --- a/packages/dev-utils/src/web3_factory.ts +++ b/packages/dev-utils/src/web3_factory.ts @@ -47,8 +47,11 @@ export const web3Factory = { _.isUndefined(config.shouldThrowErrorsOnGanacheRPCResponse) || config.shouldThrowErrorsOnGanacheRPCResponse; if (!_.isUndefined(config.ganacheDatabasePath)) { - // Saving the snapshot to a local db. Ganache requires this directory to exist - fs.mkdirSync(config.ganacheDatabasePath); + const doesDatabaseAlreadyExist = fs.existsSync(config.ganacheDatabasePath); + if (!doesDatabaseAlreadyExist) { + // Working with local DB snapshot. Ganache requires this directory to exist + fs.mkdirSync(config.ganacheDatabasePath); + } } provider.addProvider( new GanacheSubprovider({ |