| 123456789101112131415161718192021222324252627282930313233343536373839 |
- /*
- This script advances Ganache network state. It runs as a sidecar pod alongside the devnet and
- ensures that manual token transfers triggered through the web UI will be able to be confirmed.
- */
- 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);
- },
- );
- });
- };
- function sleep(ms) {
- return new Promise((resolve) => setTimeout(resolve, ms));
- }
- module.exports = function (callback) {
- const fn = async () => {
- while (true) {
- console.log(await advanceBlock());
- await sleep(1000);
- }
- };
- fn().catch((reason) => console.error(reason));
- };
|