123456789101112131415161718192021222324252627 |
- 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,
- };
|