Files
openzeppelin-contracts/test/helpers/advanceToBlock.js
2017-12-01 13:37:09 +02:00

23 lines
612 B
JavaScript

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();
}
}