From 06ef2552abe788633a70b6b56efc45daa1355a06 Mon Sep 17 00:00:00 2001 From: zorzal Date: Wed, 25 Sep 2024 15:30:06 -0400 Subject: [PATCH] test: dispute window is a timestamp window --- solidity/test/integration/BondEscalation.t.sol | 6 +++--- solidity/test/integration/Finalization.t.sol | 10 +++++----- solidity/test/integration/Payments.t.sol | 4 ++-- solidity/test/integration/ResponseDispute.t.sol | 2 +- solidity/test/integration/RootVerification.t.sol | 2 +- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/solidity/test/integration/BondEscalation.t.sol b/solidity/test/integration/BondEscalation.t.sol index 12cfc82..b1704a9 100644 --- a/solidity/test/integration/BondEscalation.t.sol +++ b/solidity/test/integration/BondEscalation.t.sol @@ -152,7 +152,7 @@ contract Integration_BondEscalation is IntegrationBase { assertEq(_bondEscalationAccounting.balanceOf(disputer, usdc), 0, 'Mismatch: Disputer balance'); // Step 8: Finalize request and check balances again - vm.roll(_expectedDeadline + 1 days); + vm.warp(_expectedDeadline + 1 days); oracle.finalize(mockRequest, mockResponse); // Test: The requester has no balance because he has paid the proposer @@ -248,7 +248,7 @@ contract Integration_BondEscalation is IntegrationBase { _responseId = oracle.proposeResponse(mockRequest, _thirdResponse); // Step 11: It goes undisputed for three days, therefore it's deemed correct and final - vm.roll(_expectedDeadline + 1); + vm.warp(_expectedDeadline + 1); oracle.finalize(mockRequest, _thirdResponse); // Test: The requester has paid out the reward @@ -283,7 +283,7 @@ contract Integration_BondEscalation is IntegrationBase { // Step 12: Two days after the deadline, the resolution module says that Another proposer's answer was correct // So Another proposer gets paid Disputer's bond - vm.roll(_expectedDeadline + 2 days); + vm.warp(_expectedDeadline + 2 days); _mockArbitrator.setAnswer(IOracle.DisputeStatus.Lost); oracle.resolveDispute(mockRequest, _secondResponse, _secondDispute); diff --git a/solidity/test/integration/Finalization.t.sol b/solidity/test/integration/Finalization.t.sol index 6958c01..99df4b1 100644 --- a/solidity/test/integration/Finalization.t.sol +++ b/solidity/test/integration/Finalization.t.sol @@ -27,7 +27,7 @@ contract Integration_Finalization is IntegrationBase { _proposeResponse(); // Traveling to the end of the dispute window - vm.roll(_expectedDeadline + 1 + _baseDisputeWindow); + vm.warp(_expectedDeadline + 1 + _baseDisputeWindow); // Check: all external calls are made? vm.expectCall(address(_mockCallback), abi.encodeWithSelector(IProphetCallback.prophetCallback.selector, _calldata)); @@ -69,13 +69,13 @@ contract Integration_Finalization is IntegrationBase { /** * @notice Finalizing a request with a ongoing dispute reverts. */ - function test_revertFinalizeInDisputeWindow(uint256 _block) public { - _block = bound(_block, block.timestamp, _expectedDeadline - _baseDisputeWindow - 1); + function test_revertFinalizeInDisputeWindow(uint256 _timestamp) public { + _timestamp = bound(_timestamp, block.timestamp, _expectedDeadline - _baseDisputeWindow - 1); _createRequest(); _proposeResponse(); - vm.roll(_block); + vm.warp(_timestamp); // Check: reverts if called during the dispute window? vm.expectRevert(IBondedResponseModule.BondedResponseModule_TooEarlyToFinalize.selector); @@ -96,7 +96,7 @@ contract Integration_Finalization is IntegrationBase { _proposeResponse(); // Traveling to the end of the dispute window - vm.roll(_expectedDeadline + 1 + _baseDisputeWindow); + vm.warp(_expectedDeadline + 1 + _baseDisputeWindow); vm.expectCall(address(_mockCallback), abi.encodeWithSelector(IProphetCallback.prophetCallback.selector, _calldata)); vm.prank(_finalizer); diff --git a/solidity/test/integration/Payments.t.sol b/solidity/test/integration/Payments.t.sol index 542233a..7b4edab 100644 --- a/solidity/test/integration/Payments.t.sol +++ b/solidity/test/integration/Payments.t.sol @@ -26,7 +26,7 @@ contract Integration_Payments is IntegrationBase { assertEq(_accountingExtension.bondedAmountOf(proposer, usdc, _requestId), _bondSize); // Warp to finalization time. - vm.roll(_expectedDeadline + _baseDisputeWindow); + vm.warp(_expectedDeadline + _baseDisputeWindow); // Finalize request/response oracle.finalize(mockRequest, mockResponse); @@ -66,7 +66,7 @@ contract Integration_Payments is IntegrationBase { assertEq(_accountingExtension.bondedAmountOf(proposer, weth, _requestId), _bondSize); // Warp to finalization time. - vm.roll(_expectedDeadline + _baseDisputeWindow); + vm.warp(_expectedDeadline + _baseDisputeWindow); // Finalize request/response. oracle.finalize(mockRequest, mockResponse); diff --git a/solidity/test/integration/ResponseDispute.t.sol b/solidity/test/integration/ResponseDispute.t.sol index 92c9e26..566cd30 100644 --- a/solidity/test/integration/ResponseDispute.t.sol +++ b/solidity/test/integration/ResponseDispute.t.sol @@ -83,7 +83,7 @@ contract Integration_ResponseDispute is IntegrationBase { * @notice Disputing a finalized response should revert */ function test_disputeResponse_alreadyFinalized() public { - vm.roll(_expectedDeadline + _baseDisputeWindow); + vm.warp(_expectedDeadline + _baseDisputeWindow); oracle.finalize(mockRequest, mockResponse); vm.expectRevert(abi.encodeWithSelector(IOracle.Oracle_AlreadyFinalized.selector, _getId(mockRequest))); diff --git a/solidity/test/integration/RootVerification.t.sol b/solidity/test/integration/RootVerification.t.sol index a5877b7..92dadd1 100644 --- a/solidity/test/integration/RootVerification.t.sol +++ b/solidity/test/integration/RootVerification.t.sol @@ -106,7 +106,7 @@ contract Integration_RootVerification is IntegrationBase { vm.prank(proposer); oracle.proposeResponse(mockRequest, mockResponse); - vm.roll(_expectedDeadline + _baseDisputeWindow); + vm.warp(_expectedDeadline + _baseDisputeWindow); oracle.finalize(mockRequest, mockResponse); }