diff --git a/solidity/test/integration/BondEscalation.t.sol b/solidity/test/integration/BondEscalation.t.sol index 7a2360d..a783184 100644 --- a/solidity/test/integration/BondEscalation.t.sol +++ b/solidity/test/integration/BondEscalation.t.sol @@ -125,6 +125,22 @@ contract Integration_BondEscalation is IntegrationBase { vm.prank(proposer); _bondEscalationModule.pledgeAgainstDispute(mockRequest, mockDispute, _createAccessControl(proposer)); + ///////////////////////////// + // Propose again + _deposit(_bondEscalationAccounting, proposer, usdc, _expectedBondSize); + IOracle.Response memory secondResponse = mockResponse; + secondResponse.response = abi.encode('second response'); + vm.prank(proposer); + bytes32 _secondResponseId = oracle.proposeResponse(mockRequest, secondResponse, _createAccessControl(proposer)); + + // Dispute again + _deposit(_bondEscalationAccounting, disputer, usdc, _pledgeSize); + IOracle.Dispute memory secondDispute = mockDispute; + secondDispute.responseId = _secondResponseId; + vm.prank(disputer); + _disputeId = oracle.disputeResponse(mockRequest, secondResponse, secondDispute, _createAccessControl(disputer)); + //////////////////////////// + // Step 4: Disputer runs out of capital // Step 5: External parties see that Disputer's dispute was wrong so they don't join to escalate // Step 6: Proposer response's is deemed correct and final once the bond escalation window is over