Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save percybolmer/b4be79619b2613d17b9852fcd31f9be5 to your computer and use it in GitHub Desktop.
Save percybolmer/b4be79619b2613d17b9852fcd31f9be5 to your computer and use it in GitHub Desktop.
advanceTime = (time) => {
return new Promise((resolve, reject) => {
web3.currentProvider.send({
jsonrpc: '2.0',
method: 'evm_increaseTime',
params: [time],
id: new Date().getTime()
}, (err, result) => {
if (err) { return reject(err) }
return resolve(result)
})
})
}
advanceBlock = () => {
return new Promise((resolve, reject) => {
web3.currentProvider.send({
jsonrpc: '2.0',
method: 'evm_mine',
id: new Date().getTime()
}, (err, result) => {
if (err) { return reject(err) }
const newBlockHash = web3.eth.getBlock('latest').hash
return resolve(newBlockHash)
})
})
}
advanceTimeAndBlock = async (time) => {
await advanceTime(time)
await advanceBlock()
return Promise.resolve(web3.eth.getBlock('latest'))
}
module.exports = {
advanceTime,
advanceBlock,
advanceTimeAndBlock,
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment