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.
27 lines
647 B
27 lines
647 B
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`.
|
|
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();
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
advanceBlock,
|
|
advanceToBlock,
|
|
};
|
|
|