getBlockTimestamp

签名

function getBlockTimestamp() external view returns (uint256 timestamp);

描述

获取当前的 block.timestamp。在使用 vm.warp--via-ir 编译的情况下,这是很有用的,因为在交易过程中 block.timestamp 被假定为一个常数。这意味着在每次 Forge 测试中,对 block.timestamp 的多次调用会被优化为只返回一个常数值,而不是实际访问当前的 block.timestampvm.getBlockTimestamp() 避免了这种优化,并返回当前的 block.timestamp

示例

assertEq(vm.getBlockTimestamp(), 1, "timestamp should be 1");
vm.warp(10);
assertEq(vm.getBlockTimestamp(), 10, "warp failed");