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.
23 lines
605 B
23 lines
605 B
8 years ago
|
export function advanceBlock() {
|
||
|
return new Promise((resolve, reject) => {
|
||
|
web3.currentProvider.sendAsync({
|
||
|
jsonrpc: '2.0',
|
||
|
method: 'evm_mine',
|
||
|
id: Date.now(),
|
||
|
}, (err, res) => {
|
||
|
return err ? reject(err) : resolve(res)
|
||
|
})
|
||
|
})
|
||
|
}
|
||
|
|
||
|
// Advances the block number so that the last mined block is `number`.
|
||
|
export default async function advanceToBlock(number) {
|
||
|
if (web3.eth.blockNumber > number) {
|
||
|
throw Error(`block number ${number} is in the past (current is ${web3.eth.blockNumber})`)
|
||
|
}
|
||
|
|
||
|
while (web3.eth.blockNumber < number) {
|
||
|
await advanceBlock()
|
||
|
}
|
||
|
}
|