A Metamask fork with Infura removed and default networks editable
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ciphermask/test/e2e/ganache.js

38 lines
833 B

const { promisify } = require('util')
const ganache = require('ganache-core')
const defaultOptions = {
blockTime: 2,
network_id: 1337,
mnemonic:
'phrase upgrade clock rough situate wedding elder clever doctor stamp excess tent',
port: 8545,
vmErrorsOnRPCResponse: false,
}
class Ganache {
async start(opts) {
const options = { ...defaultOptions, ...opts }
const { port } = options
this._server = ganache.server(options)
const listen = promisify(this._server.listen).bind(this._server)
const blockchain = await listen(port)
return {
...blockchain,
port,
}
}
async quit() {
if (!this._server) {
throw new Error('Server not running yet')
}
const close = promisify(this._server.close).bind(this._server)
await close()
}
}
module.exports = Ganache