Commit 85436898 authored by yann300's avatar yann300

fix getBlock/SsetInterval && update block gas limit when provider change

parent c5722689
...@@ -173,6 +173,7 @@ function ExecutionContext () { ...@@ -173,6 +173,7 @@ function ExecutionContext () {
} else { } else {
executionContext = context executionContext = context
web3.setProvider(injectedProvider) web3.setProvider(injectedProvider)
self._updateBlockGasLimit()
self.event.trigger('contextChanged', ['injected']) self.event.trigger('contextChanged', ['injected'])
return cb() return cb()
} }
...@@ -191,20 +192,24 @@ function ExecutionContext () { ...@@ -191,20 +192,24 @@ function ExecutionContext () {
if (this.listenOnLastBlockId) clearInterval(this.listenOnLastBlockId) if (this.listenOnLastBlockId) clearInterval(this.listenOnLastBlockId)
this.listenOnLastBlockId = null this.listenOnLastBlockId = null
} }
this._updateBlockGasLimit = function () {
if (this.getProvider() !== 'vm') {
web3.eth.getBlock('latest', (err, block) => {
if (!err) {
// we can't use the blockGasLimit cause the next blocks could have a lower limit : https://github.com/ethereum/remix/issues/506
this.blockGasLimit = (block && block.gasLimit) ? Math.floor(block.gasLimit - (5 * block.gasLimit) / 1024) : this.blockGasLimitDefault
} else {
this.blockGasLimit = this.blockGasLimitDefault
}
})
}
}
this.listenOnLastBlock = function () { this.listenOnLastBlock = function () {
this.listenOnLastBlockId = setInterval(() => { this.listenOnLastBlockId = setInterval(() => {
if (this.getProvider() !== 'vm') { this._updateBlockGasLimit()
web3.eth.getBlock('latest', (err, block) => { }, 15000)
if (!err) {
// we can't use the blockGasLimit cause the next blocks could have a lower limit : https://github.com/ethereum/remix/issues/506
this.blockGasLimit = (block && block.gasLimit) ? Math.floor(block.gasLimit - (5 * block.gasLimit) / 1024) : this.blockGasLimitDefault
} else {
this.blockGasLimit = this.blockGasLimitDefault
}
}, 15000)
}
})
} }
// TODO: not used here anymore and needs to be moved // TODO: not used here anymore and needs to be moved
...@@ -218,6 +223,7 @@ function ExecutionContext () { ...@@ -218,6 +223,7 @@ function ExecutionContext () {
} }
if (web3.isConnected()) { if (web3.isConnected()) {
executionContext = context executionContext = context
self._updateBlockGasLimit()
self.event.trigger('contextChanged', ['web3']) self.event.trigger('contextChanged', ['web3'])
self.event.trigger('web3EndpointChanged') self.event.trigger('web3EndpointChanged')
cb() cb()
......
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