From a67ecc957da8a06cf8b79966761f1a61d63b8b1a Mon Sep 17 00:00:00 2001 From: xBalbinus <xiangan9@gmail.com> Date: Fri, 17 Nov 2023 14:37:26 -0500 Subject: [PATCH] fix: WorkedExample tests --- src/CallBreakerTypes.sol | 2 +- src/timetravel/CallBreaker.sol | 2 +- test/examples/SelfCheckout.sol | 2 +- test/solve-lib/WorkedExample.sol | 23 ++++++++--------------- 4 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/CallBreakerTypes.sol b/src/CallBreakerTypes.sol index cfd4b4a..2010256 100644 --- a/src/CallBreakerTypes.sol +++ b/src/CallBreakerTypes.sol @@ -38,4 +38,4 @@ struct Call { struct CallBalance { bool set; int256 balance; -} \ No newline at end of file +} diff --git a/src/timetravel/CallBreaker.sol b/src/timetravel/CallBreaker.sol index 8e70d07..2a3eb61 100644 --- a/src/timetravel/CallBreaker.sol +++ b/src/timetravel/CallBreaker.sol @@ -262,4 +262,4 @@ contract CallBreaker is CallBreakerStorage { revert CallPositionFailed(callObj, index); } } -} \ No newline at end of file +} diff --git a/test/examples/SelfCheckout.sol b/test/examples/SelfCheckout.sol index 3681632..e924cf8 100644 --- a/test/examples/SelfCheckout.sol +++ b/test/examples/SelfCheckout.sol @@ -78,7 +78,7 @@ contract SelfCheckout is SmarterContract { callvalue: abi.encodeWithSignature("checkBalance()") }); emit LogCallObj(callObj); - assertFutureCallTo(callObj, 3); + assertFutureCallTo(callObj, 2); balanceScheduled = true; } diff --git a/test/solve-lib/WorkedExample.sol b/test/solve-lib/WorkedExample.sol index 6ea858c..0decfe9 100644 --- a/test/solve-lib/WorkedExample.sol +++ b/test/solve-lib/WorkedExample.sol @@ -67,8 +67,10 @@ contract WorkedExampleLib { } function solverLand(uint256 laminatorSequenceNumber, address filler, uint256 x) public { - CallObject[] memory callObjs = new CallObject[](4); - ReturnObject[] memory returnObjs = new ReturnObject[](4); + erc20b.approve(address(selfcheckout), x); + + CallObject[] memory callObjs = new CallObject[](3); + ReturnObject[] memory returnObjs = new ReturnObject[](3); callObjs[0] = CallObject({ amount: 0, @@ -84,27 +86,18 @@ contract WorkedExampleLib { returnObjs[0] = ReturnObject({returnvalue: abi.encode(abi.encode(returnObjsFromPull))}); - callObjs[1] = CallObject({ - amount: 0, - addr: address(erc20b), - gas: 1000000, - callvalue: abi.encodeWithSignature("approve(address,uint256)", address(selfcheckout), x) - }); - // return object is still nothing - returnObjs[1] = ReturnObject({returnvalue: abi.encode(true)}); - // then we'll call giveSomeBtokenToOwner and get the imbalance back to zero - callObjs[2] = CallObject({ + callObjs[1] = CallObject({ amount: 0, addr: address(selfcheckout), gas: 1000000, callvalue: abi.encodeWithSignature("giveSomeBtokenToOwner(uint256)", x) }); // return object is still nothing - returnObjs[2] = ReturnObject({returnvalue: ""}); + returnObjs[1] = ReturnObject({returnvalue: ""}); // then we'll call checkBalance - callObjs[3] = CallObject({ + callObjs[2] = CallObject({ amount: 0, addr: address(selfcheckout), gas: 1000000, @@ -112,7 +105,7 @@ contract WorkedExampleLib { }); // log what this callobject looks like // return object is still nothing - returnObjs[3] = ReturnObject({returnvalue: ""}); + returnObjs[2] = ReturnObject({returnvalue: ""}); // Constructing something that'll decode happily bytes32[] memory keys = new bytes32[](5);