diff --git a/test/Proofs.test.js b/test/Proofs.test.js index 0b4b53e..5124894 100644 --- a/test/Proofs.test.js +++ b/test/Proofs.test.js @@ -1,6 +1,6 @@ const { expect } = require("chai") const { ethers } = require("hardhat") -const { mineBlock, minedBlockNumber } = require("./mining") +const { mineBlock, minedBlockNumber } = require("./evm") describe("Proofs", function () { const id = ethers.utils.randomBytes(32) diff --git a/test/Storage.test.js b/test/Storage.test.js index 5fefe23..7e21e63 100644 --- a/test/Storage.test.js +++ b/test/Storage.test.js @@ -1,7 +1,7 @@ const { expect } = require("chai") const { ethers, deployments } = require("hardhat") const { exampleRequest, exampleOffer } = require("./examples") -const { mineBlock, minedBlockNumber } = require("./mining") +const { mineBlock, minedBlockNumber } = require("./evm") const { requestId, offerId } = require("./ids") describe("Storage", function () { diff --git a/test/evm.js b/test/evm.js new file mode 100644 index 0000000..c9588d4 --- /dev/null +++ b/test/evm.js @@ -0,0 +1,42 @@ +const { ethers } = require("hardhat") + +let snapshots = [] + +async function snapshot() { + const id = await ethers.provider.send("evm_snapshot") + const time = await currentTime() + snapshots.push({ id, time }) +} + +async function revert() { + const { id, time } = snapshots.pop() + await ethers.provider.send("evm_revert", [id]) + await ethers.provider.send("evm_setNextBlockTimestamp", [time + 1]) +} + +async function mineBlock() { + await ethers.provider.send("evm_mine") +} + +async function minedBlockNumber() { + return await ethers.provider.getBlockNumber() +} + +async function currentTime() { + let block = await ethers.provider.getBlock("latest") + return block.timestamp +} + +async function advanceTime(seconds) { + ethers.provider.send("evm_increaseTime", [seconds]) + await mineBlock() +} + +module.exports = { + snapshot, + revert, + mineBlock, + minedBlockNumber, + currentTime, + advanceTime, +} diff --git a/test/mining.js b/test/mining.js deleted file mode 100644 index b177060..0000000 --- a/test/mining.js +++ /dev/null @@ -1,11 +0,0 @@ -const { ethers } = require("hardhat") - -async function mineBlock() { - await ethers.provider.send("evm_mine") -} - -async function minedBlockNumber() { - return await ethers.provider.getBlockNumber() -} - -module.exports = { mineBlock, minedBlockNumber }