Commit 9db9476d authored by aniket-engg's avatar aniket-engg Committed by Aniket

reset provider on error

parent 56f8c0a3
...@@ -42,26 +42,29 @@ export default class HardhatProvider extends Plugin { ...@@ -42,26 +42,29 @@ export default class HardhatProvider extends Plugin {
if (!this.provider) { if (!this.provider) {
modalDialogCustom.prompt('Hardhat node request', this.hardhatProviderDialogBody(), 'http://127.0.0.1:8545', (target) => { modalDialogCustom.prompt('Hardhat node request', this.hardhatProviderDialogBody(), 'http://127.0.0.1:8545', (target) => {
this.provider = new Web3.providers.HttpProvider(target) this.provider = new Web3.providers.HttpProvider(target)
sendAsyncInternal(this.provider, data, resolve, reject) this.sendAsyncInternal(data, resolve, reject)
}, () => { }, () => {
sendAsyncInternal(this.provider, data, resolve, reject) this.sendAsyncInternal(data, resolve, reject)
}) })
} else { } else {
sendAsyncInternal(this.provider, data, resolve, reject) this.sendAsyncInternal(data, resolve, reject)
} }
}) })
} }
}
const sendAsyncInternal = (provider, data, resolve, reject) => { sendAsyncInternal (data, resolve, reject) {
if (provider) { if (this.provider) {
provider[provider.sendAsync ? 'sendAsync' : 'send'](data, (error, message) => { this.provider[this.provider.sendAsync ? 'sendAsync' : 'send'](data, (error, message) => {
if (error) return reject(error) if (error) {
resolve(message) this.provider = null
}) return reject(error)
} else { }
const result = data.method === 'net_listening' ? 'canceled' : [] resolve(message)
resolve({ jsonrpc: '2.0', result: result, id: data.id }) })
} else {
const result = data.method === 'net_listening' ? 'canceled' : []
resolve({ jsonrpc: '2.0', result: result, id: data.id })
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment