Solidity

如何為基於時間的合約編寫測試?

  • July 29, 2021

我有一個函式需要從事件發生時間(lockTime)開始經過 7 天,然後其餘部分才會執行:

function resetGame () public onlyOwner {
   require (block.timestamp >= lockTime + 7 days);
   _;
}

我如何使用 JS 和 chai 編寫測試來測試 7 天過去後,該功能是否按預期工作?

(ps 我正在使用 Hardhart 和 ethers.js)

您可以使用evm_increaseTimeHardhat Network ( docs ) 中提供的 rpc。

await hre.ethers.provider.send('evm_increaseTime', [7 * 24 * 60 * 60]);

引用自:https://ethereum.stackexchange.com/questions/106288