From d49cf2a80f2777f526f79ea8186d693549275171 Mon Sep 17 00:00:00 2001 From: Raoul Schaffranek Date: Fri, 7 Nov 2025 15:40:36 +0100 Subject: [PATCH 01/31] Add tests. Simplify selector generation. Fix syntax errors --- src/kontrol/kdist/cheatcodes.md | 211 +++++++----------- .../integration/test-data/foundry-prove-all | 9 + .../test-data/foundry/test/EnvOrTest.t.sol | 73 ++++++ 3 files changed, 162 insertions(+), 131 deletions(-) create mode 100644 src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 60b272fcd..4b1f00eb6 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -642,6 +642,83 @@ function toString(int256) external returns (string memory); [preserves-definedness] ``` +### `envOr(...)` cheatcodes + +The `envOr` cheatcodes in Foundry are used to read environment variables with a fallback. +In Kontrol, `envOr` is currently only implemented for concrete execution, and we always +returns the default value. + +```k + rule [envOr-word]: + #cheatcode_call SELECTOR ARGS => .K ... + _ => #range(ARGS, 32, 32) + requires SELECTOR in ( + SetItem( selector ( "envOr(string,bool)" ) ) + SetItem( selector ( "envOr(string,uint256)" ) ) + SetItem( selector ( "envOr(string,int256)" ) ) + SetItem( selector ( "envOr(string,address)" ) ) + SetItem( selector ( "envOr(string,bytes32)" ) ) + ) + [preserves-definedness] + + rule [envOr-string]: + #cheatcode_call SELECTOR ARGS => .K ... + _ => + #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) #in + #let DATA_SIZE = #asWord(#range(ARGS, DATA_OFFSET, 32)) #in + #let DATA = #range(ARGS, DATA_OFFSET +Int 32, DATA_SIZE) #in + #enc(#tuple(#string(DATA))) + + requires SELECTOR ==Int selector( "envOr(string,string)" ) + [preserves-definedness] + + rule [envOr-bytes]: + #cheatcode_call SELECTOR ARGS => .K ... + _ => + #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) #in + #let DATA_SIZE = #asWord(#range(ARGS, DATA_OFFSET, 32)) #in + #let DATA = #range(ARGS, DATA_OFFSET +Int 32, DATA_SIZE) #in + #enc(#tuple(#bytes(DATA))) + + requires SELECTOR ==Int selector( "envOr(string,bytes)" ) + [preserves-definedness] + + rule [envOr-word-array]: + #cheatcode_call SELECTOR ARGS => .K ... + _ => + #let DATA_OFFSET = #asWord(#range(ARGS, 64, 32)) #in + #let DATA_SIZE = #range(ARGS, DATA_OFFSET, 32) #in + #let DATA = #range(ARGS, DATA_OFFSET +Int 32, #asWord(DATA_SIZE) *Int 32) #in + #let HEAD = Int2Bytes(32, 32, BE) #in + #let BODY = DATA_SIZE +Bytes DATA #in + HEAD +Bytes BODY + + requires SELECTOR in ( + SetItem( selector ( "envOr(string,string,bool[])" ) ) + SetItem( selector ( "envOr(string,string,uint256)" ) ) + SetItem( selector ( "envOr(string,string,int256)" ) ) + SetItem( selector ( "envOr(string,string,address)" ) ) + SetItem( selector ( "envOr(string,string,bytes32)" ) ) + ) + [preserves-definedness] + + rule [envOr-dynamic-array]: + #cheatcode_call SELECTOR ARGS => .K ... + _ => + #let DATA_OFFSET = #asWord(#range(ARGS, 64, 32)) #in + #let DATA_SIZE = #range(ARGS, DATA_OFFSET, 32) #in + #let DATA = #range(ARGS, DATA_OFFSET +Int 32, #asWord(DATA_SIZE) *Int 32) #in + #let HEAD = Int2Bytes(32, 32, BE) #in + #let BODY = DATA_SIZE +Bytes DATA #in + HEAD +Bytes BODY + + requires SELECTOR in ( + SetItem( selector ( "envOr(string,string,string[])" ) ) + SetItem( selector ( "envOr(stirng,string,bytes[])" ) ) + ) + [preserves-definedness] +``` + Expecting the next call to revert --------------------------------- @@ -1851,138 +1928,10 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa Selectors --------- -Selectors for **implemented** cheat code functions. - -```k - rule ( selector ( "assume(bool)" ) => 1281615202 ) - rule ( selector ( "deal(address,uint256)" ) => 3364511341 ) - rule ( selector ( "etch(address,bytes)" ) => 3033974658 ) - rule ( selector ( "warp(uint256)" ) => 3856056066 ) - rule ( selector ( "roll(uint256)" ) => 528174896 ) - rule ( selector ( "fee(uint256)" ) => 968063664 ) - rule ( selector ( "chainId(uint256)" ) => 1078582738 ) - rule ( selector ( "coinbase(address)" ) => 4282924116 ) - rule ( selector ( "label(address,string)" ) => 3327641368 ) - rule ( selector ( "getNonce(address)" ) => 755185067 ) - rule ( selector ( "addr(uint256)" ) => 4288775753 ) - rule ( selector ( "load(address,bytes32)" ) => 1719639408 ) - rule ( selector ( "store(address,bytes32,bytes32)" ) => 1892290747 ) - rule ( selector ( "setNonce(address,uint64)" ) => 4175530839 ) - rule ( selector ( "expectRevert()" ) => 4102309908 ) - rule ( selector ( "expectRevert(bytes4)" ) => 3273568480 ) - rule ( selector ( "expectRevert(bytes)" ) => 4069379763 ) - rule ( selector ( "startPrank(address)" ) => 105151830 ) - rule ( selector ( "startPrank(address,address)" ) => 1169514616 ) - rule ( selector ( "stopPrank()" ) => 2428830011 ) - rule ( selector ( "expectStaticCall(address,bytes)" ) => 2232945516 ) - rule ( selector ( "expectDelegateCall(address,bytes)" ) => 1030406631 ) - rule ( selector ( "expectRegularCall(address,uint256,bytes)" ) => 1973496647 ) - rule ( selector ( "expectCreate(address,uint256,bytes)" ) => 658968394 ) - rule ( selector ( "expectCreate2(address,uint256,bytes)" ) => 3854582462 ) - rule ( selector ( "expectEmit()" ) => 1141821709 ) - rule ( selector ( "expectEmit(address)" ) => 2260296205 ) - rule ( selector ( "expectEmit(bool,bool,bool,bool)" ) => 1226622914 ) - rule ( selector ( "expectEmit(bool,bool,bool,bool,address)" ) => 2176505587 ) - rule ( selector ( "sign(uint256,bytes32)" ) => 3812747940 ) - rule ( selector ( "symbolicStorage(address)" ) => 769677742 ) - rule ( selector ( "symbolicStorage(address,string)" ) => 745143816 ) - rule ( selector ( "setArbitraryStorage(address)" ) => 3781367863 ) - rule ( selector ( "freshUInt(uint8)" ) => 625253732 ) - rule ( selector ( "freshUInt(uint8,string)" ) => 1530912521 ) - rule ( selector ( "randomUint(uint256)" ) => 3481396892 ) - rule ( selector ( "randomUint()" ) => 621954864 ) - rule ( selector ( "randomUint(uint256,uint256)" ) => 3592095003 ) - rule ( selector ( "freshBool()" ) => 2935720297 ) - rule ( selector ( "freshBool(string)" ) => 525694724 ) - rule ( selector ( "randomBool()" ) => 3451987645 ) - rule ( selector ( "freshBytes(uint256)" ) => 1389402351 ) - rule ( selector ( "freshBytes(uint256,string)" ) => 390682600 ) - rule ( selector ( "randomBytes(uint256)" ) => 1818047145 ) - rule ( selector ( "randomBytes4()" ) => 2608649593 ) - rule ( selector ( "randomBytes8()" ) => 77050021 ) - rule ( selector ( "freshAddress()" ) => 2363359817 ) - rule ( selector ( "freshAddress(string)" ) => 1202084987 ) - rule ( selector ( "randomAddress()" ) => 3586058741 ) - rule ( selector ( "prank(address)" ) => 3395723175 ) - rule ( selector ( "prank(address,address)" ) => 1206193358 ) - rule ( selector ( "allowCallsToAddress(address)" ) => 1850795572 ) - rule ( selector ( "allowCalls(address,bytes)" ) => 1808051021 ) - rule ( selector ( "allowChangesToStorage(address,uint256)" ) => 4207417100 ) - rule ( selector ( "infiniteGas()" ) => 3986649939 ) - rule ( selector ( "setGas(uint256)" ) => 3713137314 ) - rule ( selector ( "mockCall(address,bytes,bytes)" ) => 3110212580 ) - rule ( selector ( "mockFunction(address,address,bytes)" ) => 2918731041 ) - rule ( selector ( "copyStorage(address,address)" ) => 540912653 ) - rule ( selector ( "forgetBranch(uint256,uint8,uint256)" ) => 1720990067 ) - rule ( selector ( "toString(address)" ) => 1456103998 ) - rule ( selector ( "toString(bytes)" ) => 1907020045 ) - rule ( selector ( "toString(bytes32)" ) => 2971277800 ) - rule ( selector ( "toString(bool)" ) => 1910302682 ) - rule ( selector ( "toString(uint256)" ) => 1761649582 ) - rule ( selector ( "toString(int256)" ) => 2736964622 ) -``` - -Selectors for **unimplemented** cheat code functions. - -```k - rule selector ( "expectRegularCall(address,bytes)" ) => 3178868520 - rule selector ( "expectNoCall()" ) => 3861374088 - rule selector ( "ffi(string[])" ) => 2299921511 - rule selector ( "setEnv(string,string)" ) => 1029252078 - rule selector ( "envBool(string)" ) => 2127686781 - rule selector ( "envUint(string)" ) => 3247934751 - rule selector ( "envInt(string)" ) => 2301234273 - rule selector ( "envAddress(string)" ) => 890066623 - rule selector ( "envBytes32(string)" ) => 2543095874 - rule selector ( "envString(string)" ) => 4168600345 - rule selector ( "envBytes(string)" ) => 1299951366 - rule selector ( "envBool(string,string)" ) => 2863521455 - rule selector ( "envUint(string,string)" ) => 4091461785 - rule selector ( "envInt(string,string)" ) => 1108873552 - rule selector ( "envAddress(string,string)" ) => 2905717242 - rule selector ( "envBytes32(string,string)" ) => 1525821889 - rule selector ( "envString(string,string)" ) => 347089865 - rule selector ( "envBytes(string,string)" ) => 3720504603 - rule selector ( "record()" ) => 644673801 - rule selector ( "accesses(address)" ) => 1706857601 - rule selector ( "mockCall(address,uint256,bytes,bytes)" ) => 2168494993 - rule selector ( "clearMockedCalls()" ) => 1071599125 - rule selector ( "expectCall(address,bytes)" ) => 3177903156 - rule selector ( "expectCall(address,uint256,bytes)" ) => 4077681571 - rule selector ( "getCode(string)" ) => 2367473957 - rule selector ( "broadcast()" ) => 2949218368 - rule selector ( "broadcast(address)" ) => 3868601563 - rule selector ( "startBroadcast()" ) => 2142579071 - rule selector ( "startBroadcast(address)" ) => 2146183821 - rule selector ( "stopBroadcast()" ) => 1995103542 - rule selector ( "readFile(string)" ) => 1626979089 - rule selector ( "readLine(string)" ) => 1895126824 - rule selector ( "writeFile(string,string)" ) => 2306738839 - rule selector ( "writeLine(string,string)" ) => 1637714303 - rule selector ( "closeFile(string)" ) => 1220748319 - rule selector ( "removeFile(string)" ) => 4054835277 - rule selector ( "recordLogs()" ) => 1101999954 - rule selector ( "getRecordedLogs()" ) => 420828068 - rule selector ( "snapshot()" ) => 2534502746 - rule selector ( "revertTo(uint256)" ) => 1155002532 - rule selector ( "createFork(string,uint256)" ) => 1805892139 - rule selector ( "createFork(string)" ) => 834286744 - rule selector ( "createSelectFork(string,uint256)" ) => 1911440973 - rule selector ( "createSelectFork(string)" ) => 2556952628 - rule selector ( "selectFork(uint256)" ) => 2663344167 - rule selector ( "activeFork()" ) => 789593890 - rule selector ( "rollFork(uint256)" ) => 3652973473 - rule selector ( "rollFork(uint256,uint256)" ) => 3612115876 - rule selector ( "rpcUrl(string)" ) => 2539285737 - rule selector ( "rpcUrls()" ) => 2824504344 - rule selector ( "deriveKey(string,uint32)" ) => 1646872971 -``` - -Selector for Solidity built-in Error - -```k - rule ( selector ( "Error(string)" ) => 147028384 ) +```k + rule ( selector ( SIGNATURE ) ) => #asWord( #parseByteStack(substrString(Keccak256(String2Bytes(SIGNATURE)), 0, 8))) ``` + ```k endmodule ``` diff --git a/src/tests/integration/test-data/foundry-prove-all b/src/tests/integration/test-data/foundry-prove-all index c37ddfc25..4060338db 100644 --- a/src/tests/integration/test-data/foundry-prove-all +++ b/src/tests/integration/test-data/foundry-prove-all @@ -100,6 +100,15 @@ EnvTest.testEnvString() EnvTest.testEnvStringArray() EnvTest.testEnvUInt() EnvTest.testEnvUIntArray() +EnvOrTest.testEnvOrUint256() +EnvOrTest.testEnvOrInt256() +EnvOrTest.testEnvOrAddress() +EnvOrTest.testEnvOrBytes32() +EnvOrTest.testEnvOrBool() +EnvOrTest.testEnvOrString() +EnvOrTest.testEnvOrBytes() +EnvOrTest.testEnvOrUint256Array() +EnvOrTest.testEnvOrStringArray() ExpectCallTest.testExpectRegularCall() ExpectCallTest.testExpectStaticCall() ExpectRevertTest.test_expectRevert_bytes4() diff --git a/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol new file mode 100644 index 000000000..5b03e7271 --- /dev/null +++ b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol @@ -0,0 +1,73 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity =0.8.13; + +import "forge-std/Test.sol"; + +contract EnvOrTest is Test { + + function testEnvOrUint256() public { + uint256 defaultValue = 42; + uint256 value = vm.envOr("ANY", defaultValue); + assertEq(defaultValue, value); + } + + function testEnvOrInt256() public { + int256 defaultValue = -42; + int256 value = vm.envOr("ANY", defaultValue); + assertEq(defaultValue, value); + } + + function testEnvOrAddress() public { + address defaultValue = address(0x123); + address value = vm.envOr("ANY", defaultValue); + assertEq(defaultValue, value); + } + + function testEnvOrBytes32() public { + bytes32 defaultValue = bytes32("default"); + bytes32 value = vm.envOr("ANY", defaultValue); + assertEq(defaultValue, value); + } + + function testEnvOrBool() public { + bool trueValue = vm.envOr("ANY", true); + assertEq(trueValue, true); + bool falseValue = vm.envOr("ANY", false); + assertEq(falseValue, false); + } + + function testEnvOrBytes() public { + bytes memory defaultValue = "default"; + bytes memory value = vm.envOr("ANY", defaultValue); + assertEq(defaultValue, value); + } + + function testEnvOrString() public { + string memory defaultValue = "default"; + string memory value = vm.envOr("ANY", defaultValue); + assertEq(defaultValue, value); + } + + function testEnvOrUint256Array() public { + uint256[] memory defaultValue = new uint256[](2); + defaultValue[0] = 1; + defaultValue[1] = 2; + uint256[] memory value = vm.envOr("ANY", defaultValue); + assertEq(defaultValue.length, value.length); + for (uint256 i = 0; i < defaultValue.length; i++) { + assertEq(defaultValue[i], value[i]); + } + } + + function testEnvOrStringArray() public { + string[] memory defaultValue = new string[](2); + defaultValue[0] = "one"; + defaultValue[1] = "two"; + string[] memory value = vm.envOr("ANY", defaultValue); + assertEq(defaultValue.length, value.length); + for (uint256 i = 0; i < defaultValue.length; i++) { + assertEq(defaultValue[i], value[i]); + } + } + +} \ No newline at end of file From 456a4dee1a6dd510181f6408510d0aeede5bad97 Mon Sep 17 00:00:00 2001 From: Raoul Schaffranek Date: Fri, 7 Nov 2025 16:19:17 +0100 Subject: [PATCH 02/31] Fix test --- src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol index 5b03e7271..acc129207 100644 --- a/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol +++ b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol @@ -52,7 +52,7 @@ contract EnvOrTest is Test { uint256[] memory defaultValue = new uint256[](2); defaultValue[0] = 1; defaultValue[1] = 2; - uint256[] memory value = vm.envOr("ANY", defaultValue); + uint256[] memory value = vm.envOr("ANY", ",", defaultValue); assertEq(defaultValue.length, value.length); for (uint256 i = 0; i < defaultValue.length; i++) { assertEq(defaultValue[i], value[i]); @@ -63,7 +63,7 @@ contract EnvOrTest is Test { string[] memory defaultValue = new string[](2); defaultValue[0] = "one"; defaultValue[1] = "two"; - string[] memory value = vm.envOr("ANY", defaultValue); + string[] memory value = vm.envOr("ANY", ",", defaultValue); assertEq(defaultValue.length, value.length); for (uint256 i = 0; i < defaultValue.length; i++) { assertEq(defaultValue[i], value[i]); From f8290ff37167c4f650fe992a4c324305ba63fc9d Mon Sep 17 00:00:00 2001 From: Raoul Schaffranek Date: Fri, 7 Nov 2025 18:35:00 +0100 Subject: [PATCH 03/31] Define selectors --- src/kontrol/kdist/cheatcodes.md | 150 +++++++++++++++++++++++++++++++- 1 file changed, 146 insertions(+), 4 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 4b1f00eb6..d8bc6ea38 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -1928,10 +1928,152 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa Selectors --------- -```k - rule ( selector ( SIGNATURE ) ) => #asWord( #parseByteStack(substrString(Keccak256(String2Bytes(SIGNATURE)), 0, 8))) +Selectors for **implemented** cheat code functions. + +```k + rule ( selector ( "assume(bool)" ) => 1281615202 ) + rule ( selector ( "deal(address,uint256)" ) => 3364511341 ) + rule ( selector ( "etch(address,bytes)" ) => 3033974658 ) + rule ( selector ( "warp(uint256)" ) => 3856056066 ) + rule ( selector ( "roll(uint256)" ) => 528174896 ) + rule ( selector ( "fee(uint256)" ) => 968063664 ) + rule ( selector ( "chainId(uint256)" ) => 1078582738 ) + rule ( selector ( "coinbase(address)" ) => 4282924116 ) + rule ( selector ( "label(address,string)" ) => 3327641368 ) + rule ( selector ( "getNonce(address)" ) => 755185067 ) + rule ( selector ( "addr(uint256)" ) => 4288775753 ) + rule ( selector ( "load(address,bytes32)" ) => 1719639408 ) + rule ( selector ( "store(address,bytes32,bytes32)" ) => 1892290747 ) + rule ( selector ( "setNonce(address,uint64)" ) => 4175530839 ) + rule ( selector ( "expectRevert()" ) => 4102309908 ) + rule ( selector ( "expectRevert(bytes4)" ) => 3273568480 ) + rule ( selector ( "expectRevert(bytes)" ) => 4069379763 ) + rule ( selector ( "startPrank(address)" ) => 105151830 ) + rule ( selector ( "startPrank(address,address)" ) => 1169514616 ) + rule ( selector ( "stopPrank()" ) => 2428830011 ) + rule ( selector ( "expectStaticCall(address,bytes)" ) => 2232945516 ) + rule ( selector ( "expectDelegateCall(address,bytes)" ) => 1030406631 ) + rule ( selector ( "expectRegularCall(address,uint256,bytes)" ) => 1973496647 ) + rule ( selector ( "expectCreate(address,uint256,bytes)" ) => 658968394 ) + rule ( selector ( "expectCreate2(address,uint256,bytes)" ) => 3854582462 ) + rule ( selector ( "expectEmit()" ) => 1141821709 ) + rule ( selector ( "expectEmit(address)" ) => 2260296205 ) + rule ( selector ( "expectEmit(bool,bool,bool,bool)" ) => 1226622914 ) + rule ( selector ( "expectEmit(bool,bool,bool,bool,address)" ) => 2176505587 ) + rule ( selector ( "sign(uint256,bytes32)" ) => 3812747940 ) + rule ( selector ( "symbolicStorage(address)" ) => 769677742 ) + rule ( selector ( "symbolicStorage(address,string)" ) => 745143816 ) + rule ( selector ( "setArbitraryStorage(address)" ) => 3781367863 ) + rule ( selector ( "freshUInt(uint8)" ) => 625253732 ) + rule ( selector ( "freshUInt(uint8,string)" ) => 1530912521 ) + rule ( selector ( "randomUint(uint256)" ) => 3481396892 ) + rule ( selector ( "randomUint()" ) => 621954864 ) + rule ( selector ( "randomUint(uint256,uint256)" ) => 3592095003 ) + rule ( selector ( "freshBool()" ) => 2935720297 ) + rule ( selector ( "freshBool(string)" ) => 525694724 ) + rule ( selector ( "randomBool()" ) => 3451987645 ) + rule ( selector ( "freshBytes(uint256)" ) => 1389402351 ) + rule ( selector ( "freshBytes(uint256,string)" ) => 390682600 ) + rule ( selector ( "randomBytes(uint256)" ) => 1818047145 ) + rule ( selector ( "randomBytes4()" ) => 2608649593 ) + rule ( selector ( "randomBytes8()" ) => 77050021 ) + rule ( selector ( "freshAddress()" ) => 2363359817 ) + rule ( selector ( "freshAddress(string)" ) => 1202084987 ) + rule ( selector ( "randomAddress()" ) => 3586058741 ) + rule ( selector ( "prank(address)" ) => 3395723175 ) + rule ( selector ( "prank(address,address)" ) => 1206193358 ) + rule ( selector ( "allowCallsToAddress(address)" ) => 1850795572 ) + rule ( selector ( "allowCalls(address,bytes)" ) => 1808051021 ) + rule ( selector ( "allowChangesToStorage(address,uint256)" ) => 4207417100 ) + rule ( selector ( "infiniteGas()" ) => 3986649939 ) + rule ( selector ( "setGas(uint256)" ) => 3713137314 ) + rule ( selector ( "mockCall(address,bytes,bytes)" ) => 3110212580 ) + rule ( selector ( "mockFunction(address,address,bytes)" ) => 2918731041 ) + rule ( selector ( "copyStorage(address,address)" ) => 540912653 ) + rule ( selector ( "forgetBranch(uint256,uint8,uint256)" ) => 1720990067 ) + rule ( selector ( "toString(address)" ) => 1456103998 ) + rule ( selector ( "toString(bytes)" ) => 1907020045 ) + rule ( selector ( "toString(bytes32)" ) => 2971277800 ) + rule ( selector ( "toString(bool)" ) => 1910302682 ) + rule ( selector ( "toString(uint256)" ) => 1761649582 ) + rule ( selector ( "toString(int256)" ) => 2736964622 ) + rule ( selector ( "envOr(string,address)" ) => 1444930880 ) + rule ( selector ( "envOr(string,bool)" ) => 1199043535 ) + rule ( selector ( "envOr(string,bytes)" ) => 3018094341 ) + rule ( selector ( "envOr(string,bytes32)" ) => 3030931602 ) + rule ( selector ( "envOr(string,int256)" ) => 3150672190 ) + rule ( selector ( "envOr(string,string)" ) => 3510989676 ) + rule ( selector ( "envOr(string,string,address[])" ) => 3343818219 ) + rule ( selector ( "envOr(string,string,bool[])" ) => 3951421499 ) + rule ( selector ( "envOr(string,string,bytes32[])" ) => 578941799 ) + rule ( selector ( "envOr(string,string,bytes[])" ) => 1690058340 ) + rule ( selector ( "envOr(string,string,int256[])" ) => 1191237451 ) + rule ( selector ( "envOr(string,string,string[])" ) => 2240943804 ) + rule ( selector ( "envOr(string,string,uint256[])" ) => 1949402408 ) + rule ( selector ( "envOr(string,uint256)" ) => 1586967695 ) +``` + +Selectors for **unimplemented** cheat code functions. + +```k + rule selector ( "expectRegularCall(address,bytes)" ) => 3178868520 + rule selector ( "expectNoCall()" ) => 3861374088 + rule selector ( "ffi(string[])" ) => 2299921511 + rule selector ( "setEnv(string,string)" ) => 1029252078 + rule selector ( "envBool(string)" ) => 2127686781 + rule selector ( "envUint(string)" ) => 3247934751 + rule selector ( "envInt(string)" ) => 2301234273 + rule selector ( "envAddress(string)" ) => 890066623 + rule selector ( "envBytes32(string)" ) => 2543095874 + rule selector ( "envString(string)" ) => 4168600345 + rule selector ( "envBytes(string)" ) => 1299951366 + rule selector ( "envBool(string,string)" ) => 2863521455 + rule selector ( "envUint(string,string)" ) => 4091461785 + rule selector ( "envInt(string,string)" ) => 1108873552 + rule selector ( "envAddress(string,string)" ) => 2905717242 + rule selector ( "envBytes32(string,string)" ) => 1525821889 + rule selector ( "envString(string,string)" ) => 347089865 + rule selector ( "envBytes(string,string)" ) => 3720504603 + rule selector ( "record()" ) => 644673801 + rule selector ( "accesses(address)" ) => 1706857601 + rule selector ( "mockCall(address,uint256,bytes,bytes)" ) => 2168494993 + rule selector ( "clearMockedCalls()" ) => 1071599125 + rule selector ( "expectCall(address,bytes)" ) => 3177903156 + rule selector ( "expectCall(address,uint256,bytes)" ) => 4077681571 + rule selector ( "getCode(string)" ) => 2367473957 + rule selector ( "broadcast()" ) => 2949218368 + rule selector ( "broadcast(address)" ) => 3868601563 + rule selector ( "startBroadcast()" ) => 2142579071 + rule selector ( "startBroadcast(address)" ) => 2146183821 + rule selector ( "stopBroadcast()" ) => 1995103542 + rule selector ( "readFile(string)" ) => 1626979089 + rule selector ( "readLine(string)" ) => 1895126824 + rule selector ( "writeFile(string,string)" ) => 2306738839 + rule selector ( "writeLine(string,string)" ) => 1637714303 + rule selector ( "closeFile(string)" ) => 1220748319 + rule selector ( "removeFile(string)" ) => 4054835277 + rule selector ( "recordLogs()" ) => 1101999954 + rule selector ( "getRecordedLogs()" ) => 420828068 + rule selector ( "snapshot()" ) => 2534502746 + rule selector ( "revertTo(uint256)" ) => 1155002532 + rule selector ( "createFork(string,uint256)" ) => 1805892139 + rule selector ( "createFork(string)" ) => 834286744 + rule selector ( "createSelectFork(string,uint256)" ) => 1911440973 + rule selector ( "createSelectFork(string)" ) => 2556952628 + rule selector ( "selectFork(uint256)" ) => 2663344167 + rule selector ( "activeFork()" ) => 789593890 + rule selector ( "rollFork(uint256)" ) => 3652973473 + rule selector ( "rollFork(uint256,uint256)" ) => 3612115876 + rule selector ( "rpcUrl(string)" ) => 2539285737 + rule selector ( "rpcUrls()" ) => 2824504344 + rule selector ( "deriveKey(string,uint32)" ) => 1646872971 +``` + +Selector for Solidity built-in Error + +```k + rule ( selector ( "Error(string)" ) => 147028384 ) ``` - ```k endmodule -``` +``` \ No newline at end of file From 9729876b921ad1ab47e0140b1039c4f5c52ae336 Mon Sep 17 00:00:00 2001 From: Raoul Schaffranek Date: Fri, 7 Nov 2025 18:50:53 +0100 Subject: [PATCH 04/31] Fix selectors --- src/kontrol/kdist/cheatcodes.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index d8bc6ea38..742415848 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -695,10 +695,10 @@ returns the default value. requires SELECTOR in ( SetItem( selector ( "envOr(string,string,bool[])" ) ) - SetItem( selector ( "envOr(string,string,uint256)" ) ) - SetItem( selector ( "envOr(string,string,int256)" ) ) - SetItem( selector ( "envOr(string,string,address)" ) ) - SetItem( selector ( "envOr(string,string,bytes32)" ) ) + SetItem( selector ( "envOr(string,string,uint256[])" ) ) + SetItem( selector ( "envOr(string,string,int256[])" ) ) + SetItem( selector ( "envOr(string,string,address[])" ) ) + SetItem( selector ( "envOr(string,string,bytes32[])" ) ) ) [preserves-definedness] @@ -2005,7 +2005,7 @@ Selectors for **implemented** cheat code functions. rule ( selector ( "envOr(string,string)" ) => 3510989676 ) rule ( selector ( "envOr(string,string,address[])" ) => 3343818219 ) rule ( selector ( "envOr(string,string,bool[])" ) => 3951421499 ) - rule ( selector ( "envOr(string,string,bytes32[])" ) => 578941799 ) + rule ( selector ( "envOr(string,string,bytes32[])" ) => 578941799 ) rule ( selector ( "envOr(string,string,bytes[])" ) => 1690058340 ) rule ( selector ( "envOr(string,string,int256[])" ) => 1191237451 ) rule ( selector ( "envOr(string,string,string[])" ) => 2240943804 ) From 97e462f1604c75d21abb522c3945e5984f918978 Mon Sep 17 00:00:00 2001 From: Raoul Schaffranek Date: Fri, 7 Nov 2025 19:00:35 +0100 Subject: [PATCH 05/31] Fix typo --- src/kontrol/kdist/cheatcodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 742415848..66e3a9f8d 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -714,7 +714,7 @@ returns the default value. requires SELECTOR in ( SetItem( selector ( "envOr(string,string,string[])" ) ) - SetItem( selector ( "envOr(stirng,string,bytes[])" ) ) + SetItem( selector ( "envOr(string,string,bytes[])" ) ) ) [preserves-definedness] ``` From c58ae26cafccbc7dfaca1c3d5968d3077edfc95a Mon Sep 17 00:00:00 2001 From: Raoul Schaffranek Date: Fri, 7 Nov 2025 19:54:55 +0100 Subject: [PATCH 06/31] Fix abi decoding string offset --- src/kontrol/kdist/cheatcodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 66e3a9f8d..2ab9502d0 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -664,7 +664,7 @@ returns the default value. rule [envOr-string]: #cheatcode_call SELECTOR ARGS => .K ... _ => - #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) #in + #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) +Int 32 #in #let DATA_SIZE = #asWord(#range(ARGS, DATA_OFFSET, 32)) #in #let DATA = #range(ARGS, DATA_OFFSET +Int 32, DATA_SIZE) #in #enc(#tuple(#string(DATA))) From 2d1e247a8c881a6a84d937af083dc2e2ff989bad Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Tue, 16 Dec 2025 10:20:46 +0000 Subject: [PATCH 07/31] Parse .env file and initialize ENVVARS_CELL with environment variables from .env file --- src/kontrol/kdist/cheatcodes.md | 34 ++++++++++++++++++++++--------- src/kontrol/prove.py | 10 ++++++++- src/kontrol/utils.py | 36 +++++++++++++++++++++++++++++++++ 3 files changed, 70 insertions(+), 10 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 2ab9502d0..f6ef26072 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -43,6 +43,7 @@ module FOUNDRY-CHEAT-CODES imports EVM-ABI imports FOUNDRY-ACCOUNTS imports INFINITE-GAS + imports ID configuration @@ -92,6 +93,7 @@ module FOUNDRY-CHEAT-CODES .Map + .Map ``` @@ -650,8 +652,8 @@ returns the default value. ```k rule [envOr-word]: - #cheatcode_call SELECTOR ARGS => .K ... - _ => #range(ARGS, 32, 32) + #cheatcode_call SELECTOR ARGS + => #getEnvOrWord #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, 32, 32)... requires SELECTOR in ( SetItem( selector ( "envOr(string,bool)" ) ) SetItem( selector ( "envOr(string,uint256)" ) ) @@ -664,11 +666,10 @@ returns the default value. rule [envOr-string]: #cheatcode_call SELECTOR ARGS => .K ... _ => - #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) +Int 32 #in - #let DATA_SIZE = #asWord(#range(ARGS, DATA_OFFSET, 32)) #in - #let DATA = #range(ARGS, DATA_OFFSET +Int 32, DATA_SIZE) #in - #enc(#tuple(#string(DATA))) - + #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) #in + #let DATA_SIZE = #asWord(#range(ARGS, DATA_OFFSET, 32)) #in + #range(ARGS, 32 +Int DATA_OFFSET, DATA_SIZE) + requires SELECTOR ==Int selector( "envOr(string,string)" ) [preserves-definedness] @@ -677,8 +678,7 @@ returns the default value. _ => #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) #in #let DATA_SIZE = #asWord(#range(ARGS, DATA_OFFSET, 32)) #in - #let DATA = #range(ARGS, DATA_OFFSET +Int 32, DATA_SIZE) #in - #enc(#tuple(#bytes(DATA))) + #range(ARGS, DATA_OFFSET +Int 32, DATA_SIZE) requires SELECTOR ==Int selector( "envOr(string,bytes)" ) [preserves-definedness] @@ -1925,6 +1925,22 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa _ : WS => 1 : WS ``` +- `#getEnvOrWord` will get the return the environment variable from the `` mapping iif it's there, or will return the default value for the variable + +```k + syntax KItem ::= "#getEnvOrWord" Bytes Bytes [symbol(foundry_getEnvOrWord)] + // ----------------------------------------------------------------------------- + rule #getEnvOrWord VARNAME _ => .K ... + _ => VARVALUE + ... KEY |-> VARVALUE ... + requires #range(VARNAME, 0, lengthBytes(KEY)) ==K KEY + + rule #getEnvOrWord _ VARDEFAULTVALUE => .K ... + _ => VARDEFAULTVALUE + [owise] +``` + + Selectors --------- diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index 0f7202f1b..2ce8c39cf 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -39,7 +39,7 @@ from .natspec import apply_natspec_preconditions from .options import ConfigType from .solc_to_k import Contract, decode_kinner_output -from .utils import console, parse_test_version_tuple, replace_k_words +from .utils import console, parse_foundry_env, parse_test_version_tuple, replace_k_words if TYPE_CHECKING: from collections.abc import Iterable @@ -1003,8 +1003,16 @@ def _init_cterm( 'ALLOWEDCALLSLIST_CELL': list_empty(), 'MOCKCALLS_CELL': KApply('.MockCallCellMap'), 'MOCKFUNCTIONS_CELL': KApply('.MockFunctionCellMap'), + 'ENVVARS_CELL': KApply('.Map'), } + # Initialize ENVVARS_CELL with environment variables from .env file + env_vars = parse_foundry_env(foundry._root) + env_map = map_empty() + for key, value in env_vars.items(): + env_map = KApply('_Map_', [map_item(bytesToken(key.encode('utf-8')), bytesToken(value.encode('utf-8'))), env_map]) + init_subst['ENVVARS_CELL'] = env_map + storage_constraints: list[KApply] = [] if config_type == ConfigType.TEST_CONFIG or active_simbolik: diff --git a/src/kontrol/utils.py b/src/kontrol/utils.py index 2cdc91f85..d7d278778 100644 --- a/src/kontrol/utils.py +++ b/src/kontrol/utils.py @@ -331,6 +331,42 @@ def decode_log_message(token: str, selector: int) -> str | None: return None +def parse_env_file(file_path: Path) -> dict[str, str]: + """Parse a .env file into a dictionary of key-value pairs. + + :param file_path: Path to the .env file + :return: Dictionary with environment variable names as keys and their values as strings + """ + env_vars = {} + if not file_path.exists(): + return env_vars + with open(file_path, 'r', encoding='utf-8') as f: + for line in f: + line = line.strip() + if not line or line.startswith('#'): + continue + if '=' not in line: + continue + key, value = line.split('=', 1) + key = key.strip() + value = value.strip() + # Remove surrounding quotes if present + if (value.startswith('"') and value.endswith('"')) or (value.startswith("'") and value.endswith("'")): + value = value[1:-1] + env_vars[key] = value + return env_vars + + +def parse_foundry_env(foundry_root: Path) -> dict[str, str]: + """Parse the .env file located in the Foundry root directory. + + :param foundry_root: Path to the Foundry project root directory + :return: Dictionary with environment variable names as keys and their values as strings + """ + env_file = foundry_root / '.env' + return parse_env_file(env_file) + + EMPTY_LOG_SELECTOR = 1368866505 # a mapping from function selectors to the argument types used in the log functions from # https://github.com/foundry-rs/forge-std/blob/ee93fdc45d1e5e4dee883afe0103109881a83549/src/console.sol From d89787e14b9d8de2cb817de5b16cf66725e656e0 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Tue, 16 Dec 2025 15:25:48 +0000 Subject: [PATCH 08/31] Wroking for environment variables with type Uint256 or Int256 --- src/kontrol/kdist/cheatcodes.md | 46 +++++++++++++++++++-------------- 1 file changed, 27 insertions(+), 19 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index f6ef26072..5e8fd4b6a 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -653,7 +653,10 @@ returns the default value. ```k rule [envOr-word]: #cheatcode_call SELECTOR ARGS - => #getEnvOrWord #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, 32, 32)... + => #getEnvOrValue #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) String2Bytes(Int2String(#asWord(#range(ARGS, 32, 32)))) ~> + #processOutputAsInt + ... + requires SELECTOR in ( SetItem( selector ( "envOr(string,bool)" ) ) SetItem( selector ( "envOr(string,uint256)" ) ) @@ -664,22 +667,21 @@ returns the default value. [preserves-definedness] rule [envOr-string]: - #cheatcode_call SELECTOR ARGS => .K ... - _ => - #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) #in - #let DATA_SIZE = #asWord(#range(ARGS, DATA_OFFSET, 32)) #in - #range(ARGS, 32 +Int DATA_OFFSET, DATA_SIZE) - + #cheatcode_call SELECTOR ARGS + => #getEnvOrValue #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, 32 +Int #asWord(#range(ARGS, 32, 32)), #asWord(#range(ARGS, #asWord(#range(ARGS, 32, 32)), 32)))... + // The following rule, which is more readable, doesn't work. Needs investigation. + // #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) #in + // #let DATA_SIZE = #asWord(#range(ARGS, DATA_OFFSET, 32)) #in + // #let DATA = #range(ARGS, 32 +Int DATA_OFFSET, DATA_SIZE) #in + // #let VARNAME = #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #in + // #getEnvOrValue VARNAME DATA + // requires SELECTOR ==Int selector( "envOr(string,string)" ) [preserves-definedness] rule [envOr-bytes]: - #cheatcode_call SELECTOR ARGS => .K ... - _ => - #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) #in - #let DATA_SIZE = #asWord(#range(ARGS, DATA_OFFSET, 32)) #in - #range(ARGS, DATA_OFFSET +Int 32, DATA_SIZE) - + #cheatcode_call SELECTOR ARGS + => #getEnvOrValue #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, 32 +Int #asWord(#range(ARGS, 32, 32)), #asWord(#range(ARGS, #asWord(#range(ARGS, 32, 32)), 32)))... requires SELECTOR ==Int selector( "envOr(string,bytes)" ) [preserves-definedness] @@ -1925,21 +1927,27 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa _ : WS => 1 : WS ``` -- `#getEnvOrWord` will get the return the environment variable from the `` mapping iif it's there, or will return the default value for the variable +- `#getEnvOrValue` will get the return the environment variable from the `` mapping iif it's there, or will return the default value for the variable ```k - syntax KItem ::= "#getEnvOrWord" Bytes Bytes [symbol(foundry_getEnvOrWord)] + syntax KItem ::= "#getEnvOrValue" Bytes Bytes [symbol(foundry_getEnvOrValue)] // ----------------------------------------------------------------------------- - rule #getEnvOrWord VARNAME _ => .K ... + rule #getEnvOrValue VARNAME _ => .K ... _ => VARVALUE - ... KEY |-> VARVALUE ... - requires #range(VARNAME, 0, lengthBytes(KEY)) ==K KEY + ... VARNAME |-> VARVALUE ... - rule #getEnvOrWord _ VARDEFAULTVALUE => .K ... + rule #getEnvOrValue _ VARDEFAULTVALUE => .K ... _ => VARDEFAULTVALUE [owise] ``` +```k + syntax KItem ::= "#processOutputAsInt" [symbol(foundry_processOutputAsInt)] + // ----------------------------------------------------------------------------- + rule #processOutputAsInt => .K ... + VARVALUE => Int2Bytes(32, String2Int(Bytes2String(VARVALUE)), BE) +``` + Selectors --------- From 163c3d265ac5e90a8f43e5b62d519f9f8db6d060 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Wed, 17 Dec 2025 14:14:24 +0000 Subject: [PATCH 09/31] working for envOr(string,address) --- src/kontrol/kdist/cheatcodes.md | 36 ++++++++++++++++++++++----------- src/kontrol/prove.py | 2 +- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 5e8fd4b6a..51dfdc189 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -653,8 +653,7 @@ returns the default value. ```k rule [envOr-word]: #cheatcode_call SELECTOR ARGS - => #getEnvOrValue #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) String2Bytes(Int2String(#asWord(#range(ARGS, 32, 32)))) ~> - #processOutputAsInt + => #getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, 32, 32) ... requires SELECTOR in ( @@ -668,20 +667,20 @@ returns the default value. rule [envOr-string]: #cheatcode_call SELECTOR ARGS - => #getEnvOrValue #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, 32 +Int #asWord(#range(ARGS, 32, 32)), #asWord(#range(ARGS, #asWord(#range(ARGS, 32, 32)), 32)))... + => #getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, 32 +Int #asWord(#range(ARGS, 32, 32)), #asWord(#range(ARGS, #asWord(#range(ARGS, 32, 32)), 32)))... // The following rule, which is more readable, doesn't work. Needs investigation. // #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) #in // #let DATA_SIZE = #asWord(#range(ARGS, DATA_OFFSET, 32)) #in // #let DATA = #range(ARGS, 32 +Int DATA_OFFSET, DATA_SIZE) #in // #let VARNAME = #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #in - // #getEnvOrValue VARNAME DATA + // #getEnvOrValue SELECTOR VARNAME DATA // requires SELECTOR ==Int selector( "envOr(string,string)" ) [preserves-definedness] rule [envOr-bytes]: #cheatcode_call SELECTOR ARGS - => #getEnvOrValue #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, 32 +Int #asWord(#range(ARGS, 32, 32)), #asWord(#range(ARGS, #asWord(#range(ARGS, 32, 32)), 32)))... + => #getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, 32 +Int #asWord(#range(ARGS, 32, 32)), #asWord(#range(ARGS, #asWord(#range(ARGS, 32, 32)), 32)))... requires SELECTOR ==Int selector( "envOr(string,bytes)" ) [preserves-definedness] @@ -1930,22 +1929,35 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa - `#getEnvOrValue` will get the return the environment variable from the `` mapping iif it's there, or will return the default value for the variable ```k - syntax KItem ::= "#getEnvOrValue" Bytes Bytes [symbol(foundry_getEnvOrValue)] + syntax KItem ::= "#getEnvOrValue" Int Bytes Bytes [symbol(foundry_getEnvOrValue)] // ----------------------------------------------------------------------------- - rule #getEnvOrValue VARNAME _ => .K ... - _ => VARVALUE + rule #getEnvOrValue SELECTOR VARNAME _ => #processOutput SELECTOR VARVALUE ... ... VARNAME |-> VARVALUE ... - rule #getEnvOrValue _ VARDEFAULTVALUE => .K ... + rule #getEnvOrValue _ _ VARDEFAULTVALUE => .K ... _ => VARDEFAULTVALUE [owise] ``` ```k - syntax KItem ::= "#processOutputAsInt" [symbol(foundry_processOutputAsInt)] + syntax KItem ::= "#processOutput" Int String [symbol(foundry_processOutputAsInt)] // ----------------------------------------------------------------------------- - rule #processOutputAsInt => .K ... - VARVALUE => Int2Bytes(32, String2Int(Bytes2String(VARVALUE)), BE) + rule #processOutput SELECTOR VARVALUE => .K ... + _ => Int2Bytes(32, String2Int(VARVALUE), BE) + requires SELECTOR ==Int selector ( "envOr(string,int256)" ) orBool SELECTOR ==Int selector ( "envOr(string,uint256)" ) + + rule #processOutput SELECTOR VARVALUE => .K ... + _ => Int2Bytes(32, #parseHexWord(VARVALUE), BE) + requires SELECTOR ==Int selector ( "envOr(string,address)" ) andBool substrString(VARVALUE, 0, 2) ==String "0x" andBool lengthString(VARVALUE) >Int 2 + + rule #processOutput SELECTOR VARVALUE => .K ... + _ => Int2Bytes(32, String2Int(VARVALUE), BE) + requires SELECTOR ==Int selector ( "envOr(string,address)" ) + [owise] + + rule #processOutput SELECTOR VARVALUE => .K ... + _ => Int2Bytes(32, bool2Word( String2Bool(VARVALUE) ), BE) + requires SELECTOR ==Int selector ( "envOr(string,bool)" ) ``` diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index 2ce8c39cf..df5be8d38 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -1010,7 +1010,7 @@ def _init_cterm( env_vars = parse_foundry_env(foundry._root) env_map = map_empty() for key, value in env_vars.items(): - env_map = KApply('_Map_', [map_item(bytesToken(key.encode('utf-8')), bytesToken(value.encode('utf-8'))), env_map]) + env_map = KApply('_Map_', [map_item(bytesToken(key.encode('utf-8')), token(value)), env_map]) init_subst['ENVVARS_CELL'] = env_map storage_constraints: list[KApply] = [] From 6419baf80b0f64cb837582ece945b0693a345fdd Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Wed, 17 Dec 2025 16:41:53 +0000 Subject: [PATCH 10/31] Working for all fixed size data types --- src/kontrol/kdist/cheatcodes.md | 41 ++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 51dfdc189..9b45eed19 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -1931,7 +1931,7 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa ```k syntax KItem ::= "#getEnvOrValue" Int Bytes Bytes [symbol(foundry_getEnvOrValue)] // ----------------------------------------------------------------------------- - rule #getEnvOrValue SELECTOR VARNAME _ => #processOutput SELECTOR VARVALUE ... + rule #getEnvOrValue SELECTOR VARNAME VARDEFAULTVALUE => #processOutput SELECTOR VARVALUE VARDEFAULTVALUE ... ... VARNAME |-> VARVALUE ... rule #getEnvOrValue _ _ VARDEFAULTVALUE => .K ... @@ -1940,24 +1940,43 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa ``` ```k - syntax KItem ::= "#processOutput" Int String [symbol(foundry_processOutputAsInt)] + syntax KItem ::= "#processOutput" Int String Bytes [symbol(foundry_processOutputAsInt)] // ----------------------------------------------------------------------------- - rule #processOutput SELECTOR VARVALUE => .K ... + rule #processOutput SELECTOR VARVALUE _ => .K ... _ => Int2Bytes(32, String2Int(VARVALUE), BE) - requires SELECTOR ==Int selector ( "envOr(string,int256)" ) orBool SELECTOR ==Int selector ( "envOr(string,uint256)" ) + requires SELECTOR ==Int selector ( "envOr(string,int256)" ) andBool isIntegerString(VARVALUE) - rule #processOutput SELECTOR VARVALUE => .K ... + rule #processOutput SELECTOR VARVALUE _ => .K ... + _ => Int2Bytes(32, String2Int(VARVALUE), BE) + requires SELECTOR ==Int selector ( "envOr(string,uint256)" ) andBool isUnsignedIntegerString(VARVALUE) + + rule #processOutput SELECTOR VARVALUE _ => .K ... _ => Int2Bytes(32, #parseHexWord(VARVALUE), BE) - requires SELECTOR ==Int selector ( "envOr(string,address)" ) andBool substrString(VARVALUE, 0, 2) ==String "0x" andBool lengthString(VARVALUE) >Int 2 + requires SELECTOR ==Int selector ( "envOr(string,address)" ) andBool (lengthString(VARVALUE) ==Int 42 orBool lengthString(VARVALUE) ==Int 40) - rule #processOutput SELECTOR VARVALUE => .K ... - _ => Int2Bytes(32, String2Int(VARVALUE), BE) - requires SELECTOR ==Int selector ( "envOr(string,address)" ) - [owise] + rule #processOutput SELECTOR VARVALUE _ => .K ... + _ => Int2Bytes(32, #parseHexWord(VARVALUE), BE) + requires SELECTOR ==Int selector ( "envOr(string,bytes32)" ) andBool (lengthString(VARVALUE) ==Int 66 orBool lengthString(VARVALUE) ==Int 64) - rule #processOutput SELECTOR VARVALUE => .K ... + rule #processOutput SELECTOR VARVALUE _ => .K ... _ => Int2Bytes(32, bool2Word( String2Bool(VARVALUE) ), BE) requires SELECTOR ==Int selector ( "envOr(string,bool)" ) + + rule #processOutput SELECTOR VARVALUE VARDEFAULTVALUE => .K ... + _ => VARDEFAULTVALUE + [owise] +``` + +```k +syntax Bool ::= isIntegerString(String) [function] + +rule isIntegerString(S) => true requires String2Int(S) ==K 0 orBool String2Int(S) =/=K 0 +rule isIntegerString(_) => false [owise] + +syntax Bool ::= isUnsignedIntegerString(String) [function] + +rule isUnsignedIntegerString(S) => true requires String2Int(S) >=Int 0 +rule isUnsignedIntegerString(_) => false [owise] ``` From f4851d602e695f2ba6e354c513a578629846ddcd Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Thu, 18 Dec 2025 11:44:03 +0000 Subject: [PATCH 11/31] Fixed envOr(string,bool) --- src/kontrol/kdist/cheatcodes.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 9b45eed19..55877992a 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -1960,9 +1960,9 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa rule #processOutput SELECTOR VARVALUE _ => .K ... _ => Int2Bytes(32, bool2Word( String2Bool(VARVALUE) ), BE) - requires SELECTOR ==Int selector ( "envOr(string,bool)" ) + requires SELECTOR ==Int selector ( "envOr(string,bool)" ) andBool (VARVALUE ==K "true" orBool VARVALUE ==K "false") - rule #processOutput SELECTOR VARVALUE VARDEFAULTVALUE => .K ... + rule #processOutput _ _ VARDEFAULTVALUE => .K ... _ => VARDEFAULTVALUE [owise] ``` From ffc5f6cca56253b221ff1a1374ee0ea05db260e8 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Thu, 18 Dec 2025 16:56:09 +0000 Subject: [PATCH 12/31] progress in envOr-string rule --- src/kontrol/kdist/cheatcodes.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 55877992a..279e99fb1 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -665,22 +665,22 @@ returns the default value. ) [preserves-definedness] - rule [envOr-string]: - #cheatcode_call SELECTOR ARGS - => #getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, 32 +Int #asWord(#range(ARGS, 32, 32)), #asWord(#range(ARGS, #asWord(#range(ARGS, 32, 32)), 32)))... - // The following rule, which is more readable, doesn't work. Needs investigation. - // #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) #in - // #let DATA_SIZE = #asWord(#range(ARGS, DATA_OFFSET, 32)) #in - // #let DATA = #range(ARGS, 32 +Int DATA_OFFSET, DATA_SIZE) #in - // #let VARNAME = #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #in - // #getEnvOrValue SELECTOR VARNAME DATA - // - requires SELECTOR ==Int selector( "envOr(string,string)" ) - [preserves-definedness] + rule [envOr-string]: + #cheatcode_call SELECTOR ARGS + => #getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, #asWord(#range(ARGS, 32, 32)), lengthBytes(ARGS) -Int #asWord(#range(ARGS, 32, 32))) ... + //#getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #enc( #tuple( #string( "default" ) ) ) ... + requires SELECTOR ==Int selector( "envOr(string,string)" ) + [preserves-definedness] + // The following rule, which is more readable, doesn't work. Needs investigation. + // #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) #in + // #let DATA_SIZE = #asWord(#range(ARGS, DATA_OFFSET, 32)) #in + // #let DATA = #range(ARGS, 32 +Int DATA_OFFSET, DATA_SIZE) #in + // #let VARNAME = #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #in + // #getEnvOrValue SELECTOR VARNAME DATA rule [envOr-bytes]: #cheatcode_call SELECTOR ARGS - => #getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, 32 +Int #asWord(#range(ARGS, 32, 32)), #asWord(#range(ARGS, #asWord(#range(ARGS, 32, 32)), 32)))... + => #getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, #asWord(#range(ARGS, 32, 32)), 32 +Int #asWord(#range(ARGS, #asWord(#range(ARGS, 32, 32)), 32)))... requires SELECTOR ==Int selector( "envOr(string,bytes)" ) [preserves-definedness] @@ -1934,9 +1934,9 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa rule #getEnvOrValue SELECTOR VARNAME VARDEFAULTVALUE => #processOutput SELECTOR VARVALUE VARDEFAULTVALUE ... ... VARNAME |-> VARVALUE ... - rule #getEnvOrValue _ _ VARDEFAULTVALUE => .K ... + rule #getEnvOrValue _ _ VARDEFAULTVALUE => .K ... _ => VARDEFAULTVALUE - [owise] + [owise] ``` ```k From 17339c301eab4345d8d55701ec858b78c490c913 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Thu, 18 Dec 2025 16:58:47 +0000 Subject: [PATCH 13/31] Added more tests --- .../test-data/foundry/test/EnvOrTest.t.sol | 99 ++++++++++++++++--- 1 file changed, 84 insertions(+), 15 deletions(-) diff --git a/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol index acc129207..f704f3337 100644 --- a/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol +++ b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol @@ -5,50 +5,119 @@ import "forge-std/Test.sol"; contract EnvOrTest is Test { - function testEnvOrUint256() public { + function testEnvOrUint256() public view { uint256 defaultValue = 42; - uint256 value = vm.envOr("ANY", defaultValue); + uint256 value = vm.envOr("UINT256", defaultValue); + assertEq(100, value); + } + + function testEnvOrUint256Default() public view { + uint256 defaultValue = 42; + uint256 value = vm.envOr("DEFAULT", defaultValue); + assertEq(defaultValue, value); + } + + function testEnvOrUint256Bad() public view { + uint256 defaultValue = 42; + uint256 value = vm.envOr("BADUINT256", defaultValue); + assertEq(defaultValue, value); + } + + function testEnvOrInt256() public view { + int256 defaultValue = -42; + int256 value = vm.envOr("INT256", defaultValue); + assertEq(-100, value); + } + + function testEnvOrInt256Default() public view { + int256 defaultValue = -42; + int256 value = vm.envOr("DEFAULT", defaultValue); assertEq(defaultValue, value); } - function testEnvOrInt256() public { + function testEnvOrInt256Bad() public view { int256 defaultValue = -42; - int256 value = vm.envOr("ANY", defaultValue); + int256 value = vm.envOr("BADINT256", defaultValue); + assertEq(defaultValue, value); + } + + function testEnvOrAddress() public view { + address defaultValue = address(0x0); + address value = vm.envOr("ADDRESS", defaultValue); + assertEq(address(0x1234567890123456789012345678901234567890), value); + } + + function testEnvOrAddressInt() public view { + address defaultValue = address(0x0); + address value = vm.envOr("ADDRESSINT", defaultValue); + assertEq(address(0x7584896468543216876435687541650546890874), value); + } + + function testEnvOrAddressDefault() public view { + address defaultValue = address(0x123); + address value = vm.envOr("DEFAULT", defaultValue); assertEq(defaultValue, value); } - function testEnvOrAddress() public { + function testEnvOrAddressBad() public view { address defaultValue = address(0x123); - address value = vm.envOr("ANY", defaultValue); + address value = vm.envOr("BADADDRESS", defaultValue); + assertEq(defaultValue, value); + } + + function testEnvOrBytes32() public view{ + bytes32 defaultValue = bytes32("default"); + bytes32 value = vm.envOr("BYTES32", defaultValue); + bytes32 envVarValue = 0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0; + assertEq(envVarValue, value); + } + + function testEnvOrBytes32Default() public view{ + bytes32 defaultValue = bytes32("default"); + bytes32 value = vm.envOr("DEFAULT", defaultValue); assertEq(defaultValue, value); } - function testEnvOrBytes32() public { + function testEnvOrBytes32Bad() public view{ bytes32 defaultValue = bytes32("default"); - bytes32 value = vm.envOr("ANY", defaultValue); + bytes32 value = vm.envOr("BADBYTES32", defaultValue); assertEq(defaultValue, value); } - function testEnvOrBool() public { - bool trueValue = vm.envOr("ANY", true); + function testEnvOrBool() public view { + bool trueValue = vm.envOr("BOOLTRUE", false); + assertEq(trueValue, true); + bool falseValue = vm.envOr("BOOLFALSE", true); + assertEq(falseValue, false); + } + + function testEnvOrBoolDefault() public view { + bool trueValue = vm.envOr("DEFAULT", true); + assertEq(trueValue, true); + bool falseValue = vm.envOr("DEFAULT", false); + assertEq(falseValue, false); + } + + function testEnvOrBoolBad() public view { + bool trueValue = vm.envOr("BADBOOLTRUE", true); assertEq(trueValue, true); - bool falseValue = vm.envOr("ANY", false); + bool falseValue = vm.envOr("BADBOOLFALSE", false); assertEq(falseValue, false); } - function testEnvOrBytes() public { + function testEnvOrBytes() public view { bytes memory defaultValue = "default"; bytes memory value = vm.envOr("ANY", defaultValue); assertEq(defaultValue, value); } - function testEnvOrString() public { + function testEnvOrString() public view { string memory defaultValue = "default"; string memory value = vm.envOr("ANY", defaultValue); assertEq(defaultValue, value); } - function testEnvOrUint256Array() public { + function testEnvOrUint256Array() public view { uint256[] memory defaultValue = new uint256[](2); defaultValue[0] = 1; defaultValue[1] = 2; @@ -59,7 +128,7 @@ contract EnvOrTest is Test { } } - function testEnvOrStringArray() public { + function testEnvOrStringArray() public view { string[] memory defaultValue = new string[](2); defaultValue[0] = "one"; defaultValue[1] = "two"; From 96aa7091204c4321c9adab1de81f3df6ab48457f Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Thu, 18 Dec 2025 17:09:45 +0000 Subject: [PATCH 14/31] Fixed the envOr-string rule --- src/kontrol/kdist/cheatcodes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 279e99fb1..badc6567c 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -667,7 +667,7 @@ returns the default value. rule [envOr-string]: #cheatcode_call SELECTOR ARGS - => #getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, #asWord(#range(ARGS, 32, 32)), lengthBytes(ARGS) -Int #asWord(#range(ARGS, 32, 32))) ... + => #getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) (Int2Bytes(32, 32, BE) +Bytes #range(ARGS, #asWord(#range(ARGS, 32, 32)), lengthBytes(ARGS) -Int #asWord(#range(ARGS, 32, 32)))) ... //#getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #enc( #tuple( #string( "default" ) ) ) ... requires SELECTOR ==Int selector( "envOr(string,string)" ) [preserves-definedness] From ac50e002d3b10720a60a4f712ca128efe7205b83 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Fri, 19 Dec 2025 16:16:52 +0000 Subject: [PATCH 15/31] Working for envOr-string and envOr-bytes --- src/kontrol/kdist/assert.md | 19 +++++--- src/kontrol/kdist/cheatcodes.md | 45 +++++++++++-------- src/tests/integration/test-data/foundry/.env | 16 +++++++ .../test-data/foundry/test/EnvOrTest.t.sol | 25 +++++++++-- 4 files changed, 77 insertions(+), 28 deletions(-) create mode 100644 src/tests/integration/test-data/foundry/.env diff --git a/src/kontrol/kdist/assert.md b/src/kontrol/kdist/assert.md index ec47dc7ab..872c494a6 100644 --- a/src/kontrol/kdist/assert.md +++ b/src/kontrol/kdist/assert.md @@ -93,13 +93,18 @@ Capturing cheat code calls rule [cheatcode.call.assertEq.Dtype]: #cheatcode_call SELECTOR ARGS => - #let ARG1_START = #asWord(#range(ARGS, 0, 32)) #in - #let ARG2_START = #asWord(#range(ARGS, 32, 32)) #in - #let ARG1_LEN = #asWord(#range(ARGS, ARG1_START, 32)) #in - #let ARG2_LEN = #asWord(#range(ARGS, ARG2_START, 32)) #in - #let ARG1_VALUE = #asWord(#range(ARGS, 32 +Int ARG1_START, ARG1_LEN)) #in - #let ARG2_VALUE = #asWord(#range(ARGS, 32 +Int ARG2_START, ARG2_LEN)) #in - #assert_eq ARG1_VALUE ARG2_VALUE String2Bytes("assertion failed") ... + //#let ARG1_START = #asWord(#range(ARGS, 0, 32)) #in + //#let ARG2_START = #asWord(#range(ARGS, 32, 32)) #in + //#let ARG1_LEN = #asWord(#range(ARGS, ARG1_START, 32)) #in + //#let ARG2_LEN = #asWord(#range(ARGS, ARG2_START, 32)) #in + //#let ARG1_VALUE = #asWord(#range(ARGS, 32 +Int ARG1_START, ARG1_LEN)) #in + //#let ARG2_VALUE = #asWord(#range(ARGS, 32 +Int ARG2_START, ARG2_LEN)) #in + // #assert_eq ARG1_VALUE ARG2_VALUE String2Bytes("assertion failed") ... + #assert_eq #asWord(#range(ARGS, 32 +Int #asWord(#range(ARGS, 0, 32)), #asWord(#range(ARGS, #asWord(#range(ARGS, 0, 32)), 32)))) + #asWord(#range(ARGS, 32 +Int #asWord(#range(ARGS, 32, 32)), #asWord(#range(ARGS, #asWord(#range(ARGS, 32, 32)), 32)))) + String2Bytes("assertion failed") + ... + requires SELECTOR ==Int selector ( "assertEq(string,string)" ) orBool SELECTOR ==Int selector ( "assertEq(bytes,bytes)" ) [preserves-definedness] diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index badc6567c..3c9cef17b 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -665,24 +665,11 @@ returns the default value. ) [preserves-definedness] - rule [envOr-string]: + rule [envOr-string-bytes]: #cheatcode_call SELECTOR ARGS => #getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) (Int2Bytes(32, 32, BE) +Bytes #range(ARGS, #asWord(#range(ARGS, 32, 32)), lengthBytes(ARGS) -Int #asWord(#range(ARGS, 32, 32)))) ... - //#getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #enc( #tuple( #string( "default" ) ) ) ... - requires SELECTOR ==Int selector( "envOr(string,string)" ) + requires SELECTOR ==Int selector( "envOr(string,string)" ) orBool SELECTOR ==Int selector( "envOr(string,bytes)" ) [preserves-definedness] - // The following rule, which is more readable, doesn't work. Needs investigation. - // #let DATA_OFFSET = #asWord(#range(ARGS, 32, 32)) #in - // #let DATA_SIZE = #asWord(#range(ARGS, DATA_OFFSET, 32)) #in - // #let DATA = #range(ARGS, 32 +Int DATA_OFFSET, DATA_SIZE) #in - // #let VARNAME = #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #in - // #getEnvOrValue SELECTOR VARNAME DATA - - rule [envOr-bytes]: - #cheatcode_call SELECTOR ARGS - => #getEnvOrValue SELECTOR #range(ARGS, 96, #asWord(#range(ARGS, 64, 32))) #range(ARGS, #asWord(#range(ARGS, 32, 32)), 32 +Int #asWord(#range(ARGS, #asWord(#range(ARGS, 32, 32)), 32)))... - requires SELECTOR ==Int selector( "envOr(string,bytes)" ) - [preserves-definedness] rule [envOr-word-array]: #cheatcode_call SELECTOR ARGS => .K ... @@ -1952,16 +1939,29 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa rule #processOutput SELECTOR VARVALUE _ => .K ... _ => Int2Bytes(32, #parseHexWord(VARVALUE), BE) - requires SELECTOR ==Int selector ( "envOr(string,address)" ) andBool (lengthString(VARVALUE) ==Int 42 orBool lengthString(VARVALUE) ==Int 40) + requires SELECTOR ==Int selector ( "envOr(string,address)" ) + andBool (lengthString(VARVALUE) ==Int 42 orBool lengthString(VARVALUE) ==Int 40) + andBool isHexString(VARVALUE) rule #processOutput SELECTOR VARVALUE _ => .K ... _ => Int2Bytes(32, #parseHexWord(VARVALUE), BE) - requires SELECTOR ==Int selector ( "envOr(string,bytes32)" ) andBool (lengthString(VARVALUE) ==Int 66 orBool lengthString(VARVALUE) ==Int 64) + requires SELECTOR ==Int selector ( "envOr(string,bytes32)" ) + andBool (lengthString(VARVALUE) ==Int 66 orBool lengthString(VARVALUE) ==Int 64) + andBool isHexString(VARVALUE) rule #processOutput SELECTOR VARVALUE _ => .K ... _ => Int2Bytes(32, bool2Word( String2Bool(VARVALUE) ), BE) - requires SELECTOR ==Int selector ( "envOr(string,bool)" ) andBool (VARVALUE ==K "true" orBool VARVALUE ==K "false") + requires SELECTOR ==Int selector ( "envOr(string,bool)" ) + andBool (VARVALUE ==K "true" orBool VARVALUE ==K "false") + rule #processOutput SELECTOR VARVALUE _ => .K ... + _ => #enc( #tuple( #string(VARVALUE))) + requires SELECTOR ==Int selector ( "envOr(string,string)" ) + + rule #processOutput SELECTOR VARVALUE _ => .K ... + _ => #enc( #tuple( #bytes( #parseByteStack(VARVALUE) ))) + requires SELECTOR ==Int selector ( "envOr(string,bytes)" ) andBool isHexString(VARVALUE) + rule #processOutput _ _ VARDEFAULTVALUE => .K ... _ => VARDEFAULTVALUE [owise] @@ -1973,10 +1973,19 @@ syntax Bool ::= isIntegerString(String) [function] rule isIntegerString(S) => true requires String2Int(S) ==K 0 orBool String2Int(S) =/=K 0 rule isIntegerString(_) => false [owise] + syntax Bool ::= isUnsignedIntegerString(String) [function] rule isUnsignedIntegerString(S) => true requires String2Int(S) >=Int 0 rule isUnsignedIntegerString(_) => false [owise] + + +syntax Bool ::= isHexString(String) [function] + +rule isHexString(S) => true + requires String2Base(replaceAll(S, "0x", ""), 16) ==K 0 + orBool String2Base(replaceAll(S, "0x", ""), 16) =/=K 0 +rule isHexString(_) => false [owise] ``` diff --git a/src/tests/integration/test-data/foundry/.env b/src/tests/integration/test-data/foundry/.env new file mode 100644 index 000000000..a83292c0c --- /dev/null +++ b/src/tests/integration/test-data/foundry/.env @@ -0,0 +1,16 @@ +UINT256=100 +BADUINT256=-100 +INT256=-100 +BADINT256=notanint +ADDRESS=0x1234567890123456789012345678901234567890 +ADDRESSINT=7584896468543216876435687541650546890874 +BADADDRESS=0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL +BYTES32=0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0 +BADBYTES32=0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3 +BOOLFALSE=false +BADBOOLFALSE=notaboolvalue +BOOLTRUE=true +BADBOOLTRUE=notaboolvalue +BYTES=0xdeadbeef +STRING=hello_world +BADBYTES=notabytesvalue diff --git a/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol index f704f3337..df3ed7834 100644 --- a/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol +++ b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol @@ -5,7 +5,7 @@ import "forge-std/Test.sol"; contract EnvOrTest is Test { - function testEnvOrUint256() public view { + function testEnvOrUint256() public view { uint256 defaultValue = 42; uint256 value = vm.envOr("UINT256", defaultValue); assertEq(100, value); @@ -107,13 +107,32 @@ contract EnvOrTest is Test { function testEnvOrBytes() public view { bytes memory defaultValue = "default"; - bytes memory value = vm.envOr("ANY", defaultValue); + bytes memory value = vm.envOr("BYTES", defaultValue); + bytes memory expectedValue = hex"deadbeef"; + assertEq(expectedValue, value); + } + + function testEnvOrBytesDefault() public view { + bytes memory defaultValue = "default"; + bytes memory value = vm.envOr("DEFAULT", defaultValue); + assertEq(defaultValue, value); + } + + function testEnvOrBytesBad() public view { + bytes memory defaultValue = "default"; + bytes memory value = vm.envOr("BADBYTES", defaultValue); assertEq(defaultValue, value); } function testEnvOrString() public view { string memory defaultValue = "default"; - string memory value = vm.envOr("ANY", defaultValue); + string memory value = vm.envOr("STRING", defaultValue); + assertEq("hello_world", value); + } + + function testEnvOrStringDefault() public view { + string memory defaultValue = "default"; + string memory value = vm.envOr("DEFAULT", defaultValue); assertEq(defaultValue, value); } From 390d82c109b3819c021072dbf67d9e48fe6d8367 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Tue, 6 Jan 2026 16:33:59 +0000 Subject: [PATCH 16/31] Fixed formatting issues --- src/kontrol/utils.py | 2 +- src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/kontrol/utils.py b/src/kontrol/utils.py index d7d278778..224459a8d 100644 --- a/src/kontrol/utils.py +++ b/src/kontrol/utils.py @@ -337,7 +337,7 @@ def parse_env_file(file_path: Path) -> dict[str, str]: :param file_path: Path to the .env file :return: Dictionary with environment variable names as keys and their values as strings """ - env_vars = {} + env_vars: dict[str, str] = {} if not file_path.exists(): return env_vars with open(file_path, 'r', encoding='utf-8') as f: diff --git a/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol index df3ed7834..4f32aee9c 100644 --- a/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol +++ b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol @@ -5,7 +5,7 @@ import "forge-std/Test.sol"; contract EnvOrTest is Test { - function testEnvOrUint256() public view { + function testEnvOrUint256() public view { uint256 defaultValue = 42; uint256 value = vm.envOr("UINT256", defaultValue); assertEq(100, value); From d5ca7990629f89e0475122a70376c191a7a982d1 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Wed, 7 Jan 2026 14:07:11 +0000 Subject: [PATCH 17/31] Fixed tests and updated foundry-prove-all list --- .../integration/test-data/foundry-prove-all | 16 ++++++- .../test-data/foundry/test/EnvOrTest.t.sol | 46 +++++++++---------- 2 files changed, 37 insertions(+), 25 deletions(-) diff --git a/src/tests/integration/test-data/foundry-prove-all b/src/tests/integration/test-data/foundry-prove-all index 4060338db..e84863699 100644 --- a/src/tests/integration/test-data/foundry-prove-all +++ b/src/tests/integration/test-data/foundry-prove-all @@ -101,14 +101,26 @@ EnvTest.testEnvStringArray() EnvTest.testEnvUInt() EnvTest.testEnvUIntArray() EnvOrTest.testEnvOrUint256() +EnvOrTest.testEnvOrUint256Default() +EnvOrTest.testEnvOrUint256Bad() EnvOrTest.testEnvOrInt256() +EnvOrTest.testEnvOrInt256Default() +EnvOrTest.testEnvOrInt256Bad() EnvOrTest.testEnvOrAddress() +EnvOrTest.testEnvOrAddressInt() +EnvOrTest.testEnvOrAddressDefault() +EnvOrTest.testEnvOrAddressBad() EnvOrTest.testEnvOrBytes32() +EnvOrTest.testEnvOrBytes32Default() +EnvOrTest.testEnvOrBytes32Bad() EnvOrTest.testEnvOrBool() +EnvOrTest.testEnvOrBoolDefault() +EnvOrTest.testEnvOrBoolBad() EnvOrTest.testEnvOrString() +EnvOrTest.testEnvOrStringDefault() EnvOrTest.testEnvOrBytes() -EnvOrTest.testEnvOrUint256Array() -EnvOrTest.testEnvOrStringArray() +EnvOrTest.testEnvOrBytesDefault() +EnvOrTest.testEnvOrBytesBad() ExpectCallTest.testExpectRegularCall() ExpectCallTest.testExpectStaticCall() ExpectRevertTest.test_expectRevert_bytes4() diff --git a/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol index 4f32aee9c..7af52adc6 100644 --- a/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol +++ b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol @@ -5,138 +5,138 @@ import "forge-std/Test.sol"; contract EnvOrTest is Test { - function testEnvOrUint256() public view { + function testEnvOrUint256() public { uint256 defaultValue = 42; uint256 value = vm.envOr("UINT256", defaultValue); assertEq(100, value); } - function testEnvOrUint256Default() public view { + function testEnvOrUint256Default() public { uint256 defaultValue = 42; uint256 value = vm.envOr("DEFAULT", defaultValue); assertEq(defaultValue, value); } - function testEnvOrUint256Bad() public view { + function testEnvOrUint256Bad() public { uint256 defaultValue = 42; uint256 value = vm.envOr("BADUINT256", defaultValue); assertEq(defaultValue, value); } - function testEnvOrInt256() public view { + function testEnvOrInt256() public { int256 defaultValue = -42; int256 value = vm.envOr("INT256", defaultValue); assertEq(-100, value); } - function testEnvOrInt256Default() public view { + function testEnvOrInt256Default() public { int256 defaultValue = -42; int256 value = vm.envOr("DEFAULT", defaultValue); assertEq(defaultValue, value); } - function testEnvOrInt256Bad() public view { + function testEnvOrInt256Bad() public { int256 defaultValue = -42; int256 value = vm.envOr("BADINT256", defaultValue); assertEq(defaultValue, value); } - function testEnvOrAddress() public view { + function testEnvOrAddress() public { address defaultValue = address(0x0); address value = vm.envOr("ADDRESS", defaultValue); assertEq(address(0x1234567890123456789012345678901234567890), value); } - function testEnvOrAddressInt() public view { + function testEnvOrAddressInt() public { address defaultValue = address(0x0); address value = vm.envOr("ADDRESSINT", defaultValue); assertEq(address(0x7584896468543216876435687541650546890874), value); } - function testEnvOrAddressDefault() public view { + function testEnvOrAddressDefault() public { address defaultValue = address(0x123); address value = vm.envOr("DEFAULT", defaultValue); assertEq(defaultValue, value); } - function testEnvOrAddressBad() public view { + function testEnvOrAddressBad() public { address defaultValue = address(0x123); address value = vm.envOr("BADADDRESS", defaultValue); assertEq(defaultValue, value); } - function testEnvOrBytes32() public view{ + function testEnvOrBytes32() public { bytes32 defaultValue = bytes32("default"); bytes32 value = vm.envOr("BYTES32", defaultValue); bytes32 envVarValue = 0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0; assertEq(envVarValue, value); } - function testEnvOrBytes32Default() public view{ + function testEnvOrBytes32Default() public { bytes32 defaultValue = bytes32("default"); bytes32 value = vm.envOr("DEFAULT", defaultValue); assertEq(defaultValue, value); } - function testEnvOrBytes32Bad() public view{ + function testEnvOrBytes32Bad() public { bytes32 defaultValue = bytes32("default"); bytes32 value = vm.envOr("BADBYTES32", defaultValue); assertEq(defaultValue, value); } - function testEnvOrBool() public view { + function testEnvOrBool() public { bool trueValue = vm.envOr("BOOLTRUE", false); assertEq(trueValue, true); bool falseValue = vm.envOr("BOOLFALSE", true); assertEq(falseValue, false); } - function testEnvOrBoolDefault() public view { + function testEnvOrBoolDefault() public { bool trueValue = vm.envOr("DEFAULT", true); assertEq(trueValue, true); bool falseValue = vm.envOr("DEFAULT", false); assertEq(falseValue, false); } - function testEnvOrBoolBad() public view { + function testEnvOrBoolBad() public { bool trueValue = vm.envOr("BADBOOLTRUE", true); assertEq(trueValue, true); bool falseValue = vm.envOr("BADBOOLFALSE", false); assertEq(falseValue, false); } - function testEnvOrBytes() public view { + function testEnvOrBytes() public { bytes memory defaultValue = "default"; bytes memory value = vm.envOr("BYTES", defaultValue); bytes memory expectedValue = hex"deadbeef"; assertEq(expectedValue, value); } - function testEnvOrBytesDefault() public view { + function testEnvOrBytesDefault() public { bytes memory defaultValue = "default"; bytes memory value = vm.envOr("DEFAULT", defaultValue); assertEq(defaultValue, value); } - function testEnvOrBytesBad() public view { + function testEnvOrBytesBad() public { bytes memory defaultValue = "default"; bytes memory value = vm.envOr("BADBYTES", defaultValue); assertEq(defaultValue, value); } - function testEnvOrString() public view { + function testEnvOrString() public { string memory defaultValue = "default"; string memory value = vm.envOr("STRING", defaultValue); assertEq("hello_world", value); } - function testEnvOrStringDefault() public view { + function testEnvOrStringDefault() public { string memory defaultValue = "default"; string memory value = vm.envOr("DEFAULT", defaultValue); assertEq(defaultValue, value); } - function testEnvOrUint256Array() public view { + function testEnvOrUint256Array() public { uint256[] memory defaultValue = new uint256[](2); defaultValue[0] = 1; defaultValue[1] = 2; @@ -147,7 +147,7 @@ contract EnvOrTest is Test { } } - function testEnvOrStringArray() public view { + function testEnvOrStringArray() public { string[] memory defaultValue = new string[](2); defaultValue[0] = "one"; defaultValue[1] = "two"; From 48f492366d6870dfa8b78366cf5a8755ef6e5434 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Thu, 8 Jan 2026 13:40:11 +0000 Subject: [PATCH 18/31] Working for arrays of uint256 --- src/kontrol/kdist/cheatcodes.md | 61 +++++++++++++++++++++++++++------ 1 file changed, 51 insertions(+), 10 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 04fbc92d4..190a1aa1e 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -44,6 +44,8 @@ module FOUNDRY-CHEAT-CODES imports FOUNDRY-ACCOUNTS imports INFINITE-GAS imports ID + imports BYTES + imports STRING configuration @@ -672,15 +674,13 @@ returns the default value. [preserves-definedness] rule [envOr-word-array]: - #cheatcode_call SELECTOR ARGS => .K ... - _ => - #let DATA_OFFSET = #asWord(#range(ARGS, 64, 32)) #in - #let DATA_SIZE = #range(ARGS, DATA_OFFSET, 32) #in - #let DATA = #range(ARGS, DATA_OFFSET +Int 32, #asWord(DATA_SIZE) *Int 32) #in - #let HEAD = Int2Bytes(32, 32, BE) #in - #let BODY = DATA_SIZE +Bytes DATA #in - HEAD +Bytes BODY - + #cheatcode_call SELECTOR ARGS => + #getEnvOrArray SELECTOR + #range(ARGS, 128, #asWord(#range(ARGS, 96, 32))) // KEY_VALUE + Bytes2String( #range(ARGS, #asWord(#range(ARGS, 32, 32)) +Int 32, #asWord(#range(ARGS, #asWord(#range(ARGS, 32, 32)), 32)))) // DELIMITER + (Int2Bytes(32, 32, BE) +Bytes #range(ARGS, #asWord(#range(ARGS, 64, 32)), lengthBytes(ARGS) -Int #asWord(#range(ARGS, 64, 32)))) // DEFAULT_VALUE + ... + requires SELECTOR in ( SetItem( selector ( "envOr(string,string,bool[])" ) ) SetItem( selector ( "envOr(string,string,uint256[])" ) ) @@ -1942,7 +1942,7 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa _ : WS => 1 : WS ``` -- `#getEnvOrValue` will get the return the environment variable from the `` mapping iif it's there, or will return the default value for the variable +- `#getEnvOrValue` will get and process the environment variable from the `` mapping if it's there, or will return the default value for the variable otherwise. ```k syntax KItem ::= "#getEnvOrValue" Int Bytes Bytes [symbol(foundry_getEnvOrValue)] @@ -1955,6 +1955,21 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa [owise] ``` +- `#getEnvOrArray` will get and process the environment variable from the `` mapping if it's there, or will return the default array value for the variable otherwise. + +```k + syntax KItem ::= "#getEnvOrArray" Int Bytes String Bytes [symbol(foundry_getEnvOrArray)] + // ----------------------------------------------------------------------------- + rule #getEnvOrArray SELECTOR VARNAME DELIMITER VARDEFAULTVALUE => #processArrayOutput SELECTOR DELIMITER VARVALUE VARDEFAULTVALUE ... + ... VARNAME |-> VARVALUE ... + + rule #getEnvOrArray _ _ _ VARDEFAULTVALUE => .K ... + _ => VARDEFAULTVALUE + [owise] +``` + +- `#processOutput` will process the output based on the selector and the variable value retrieved from the environment variable mapping. + ```k syntax KItem ::= "#processOutput" Int String Bytes [symbol(foundry_processOutputAsInt)] // ----------------------------------------------------------------------------- @@ -1996,6 +2011,24 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa [owise] ``` +- ` #processArrayOutput` will process the output as an array based on the selector and the variable value retrieved from the environment variable mapping. + +```k + syntax KItem ::= "#processArrayOutput" Int String String Bytes [symbol(foundry_processArrayOutputAsInt)] + // ----------------------------------------------------------------------------- + rule #processArrayOutput SELECTOR DELIMITER VARVALUE _ => #processUint256Array( split(VARVALUE, DELIMITER) ) ... + // _ => + requires SELECTOR ==Int selector ( "envOr(string,string,uint256[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) + + rule #processArrayOutput _ _ _ VARDEFAULTVALUE => .K ... + _ => VARDEFAULTVALUE + [owise] + + syntax KItem ::= "#processUint256Array" List [symbol(foundry_processUint256Array)] + rule #processUint256Array(VALUES) => .K ... + _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToBytes(VALUES) +``` + ```k syntax Bool ::= isIntegerString(String) [function] @@ -2015,6 +2048,14 @@ rule isHexString(S) => true requires String2Base(replaceAll(S, "0x", ""), 16) ==K 0 orBool String2Base(replaceAll(S, "0x", ""), 16) =/=K 0 rule isHexString(_) => false [owise] + +syntax List ::= split ( String , String ) [function] +rule split(S, D) => ListItem(S) requires findString(S, D, 0) ==Int -1 +rule split(S, D) => ListItem(substrString(S, 0, findString(S, D, 0))) split(substrString(S, findString(S, D, 0) +Int lengthString(D), lengthString(S)), D) requires findString(S, D, 0) =/=Int -1 + +syntax Bytes ::= mapStringToBytes ( List ) [function] +rule mapStringToBytes(.List) => .Bytes +rule mapStringToBytes(ListItem(X) XS) => #buf(32, String2Int(X)) +Bytes mapStringToBytes(XS) ``` From 12636fc11fcdce1b68b2e3fab30a1843086c3679 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Thu, 8 Jan 2026 14:50:19 +0000 Subject: [PATCH 19/31] Working for other word arrays --- src/kontrol/kdist/cheatcodes.md | 52 ++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 10 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 190a1aa1e..c7efcf135 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -1960,7 +1960,7 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa ```k syntax KItem ::= "#getEnvOrArray" Int Bytes String Bytes [symbol(foundry_getEnvOrArray)] // ----------------------------------------------------------------------------- - rule #getEnvOrArray SELECTOR VARNAME DELIMITER VARDEFAULTVALUE => #processArrayOutput SELECTOR DELIMITER VARVALUE VARDEFAULTVALUE ... + rule #getEnvOrArray SELECTOR VARNAME DELIMITER VARDEFAULTVALUE => #processArrayOutput SELECTOR split(VARVALUE, DELIMITER) VARDEFAULTVALUE ... ... VARNAME |-> VARVALUE ... rule #getEnvOrArray _ _ _ VARDEFAULTVALUE => .K ... @@ -2014,19 +2014,35 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa - ` #processArrayOutput` will process the output as an array based on the selector and the variable value retrieved from the environment variable mapping. ```k - syntax KItem ::= "#processArrayOutput" Int String String Bytes [symbol(foundry_processArrayOutputAsInt)] + syntax KItem ::= "#processArrayOutput" Int List Bytes [symbol(foundry_processArrayOutputAsInt)] // ----------------------------------------------------------------------------- - rule #processArrayOutput SELECTOR DELIMITER VARVALUE _ => #processUint256Array( split(VARVALUE, DELIMITER) ) ... - // _ => + rule #processArrayOutput SELECTOR VALUES _ => .K ... + _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToInt256Bytes(VALUES) + requires SELECTOR ==Int selector ( "envOr(string,string,int256[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) + + rule #processArrayOutput SELECTOR VALUES _ => .K ... + _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToInt256Bytes(VALUES) requires SELECTOR ==Int selector ( "envOr(string,string,uint256[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) + rule #processArrayOutput SELECTOR VALUES _ => .K ... + _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToAddressBytes(VALUES) + requires SELECTOR ==Int selector ( "envOr(string,string,address[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) + + rule #processArrayOutput SELECTOR VALUES _ => .K ... + _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToBytes32Bytes(VALUES) + requires SELECTOR ==Int selector ( "envOr(string,string,bytes32[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) + + rule #processArrayOutput SELECTOR VALUES _ => .K ... + _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToBoolBytes(VALUES) + requires SELECTOR ==Int selector ( "envOr(string,string,bool[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) + rule #processArrayOutput _ _ _ VARDEFAULTVALUE => .K ... _ => VARDEFAULTVALUE [owise] - syntax KItem ::= "#processUint256Array" List [symbol(foundry_processUint256Array)] - rule #processUint256Array(VALUES) => .K ... - _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToBytes(VALUES) + //syntax KItem ::= "#processUint256Array" List [symbol(foundry_processUint256Array)] + //rule #processUint256Array(VALUES) => .K ... + // _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToBytes(VALUES) ``` ```k @@ -2053,9 +2069,25 @@ syntax List ::= split ( String , String ) [function] rule split(S, D) => ListItem(S) requires findString(S, D, 0) ==Int -1 rule split(S, D) => ListItem(substrString(S, 0, findString(S, D, 0))) split(substrString(S, findString(S, D, 0) +Int lengthString(D), lengthString(S)), D) requires findString(S, D, 0) =/=Int -1 -syntax Bytes ::= mapStringToBytes ( List ) [function] -rule mapStringToBytes(.List) => .Bytes -rule mapStringToBytes(ListItem(X) XS) => #buf(32, String2Int(X)) +Bytes mapStringToBytes(XS) +syntax Bytes ::= mapStringToInt256Bytes ( List ) [function] +rule mapStringToInt256Bytes(.List) => .Bytes +rule mapStringToInt256Bytes(ListItem(X) XS) => #buf(32, String2Int(X)) +Bytes mapStringToInt256Bytes(XS) + +syntax Bytes ::= mapStringToInt256Bytes ( List ) [function] +rule mapStringToInt256Bytes(.List) => .Bytes +rule mapStringToInt256Bytes(ListItem(X) XS) => #buf(32, String2Int(X)) +Bytes mapStringToInt256Bytes(XS) + +syntax Bytes ::= mapStringToAddressBytes ( List ) [function] +rule mapStringToAddressBytes(.List) => .Bytes +rule mapStringToAddressBytes(ListItem(X) XS) => #buf(32, #parseHexWord(X)) +Bytes mapStringToAddressBytes(XS) + +syntax Bytes ::= mapStringToBytes32Bytes ( List ) [function] +rule mapStringToBytes32Bytes(.List) => .Bytes +rule mapStringToBytes32Bytes(ListItem(X) XS) => #buf(32, #parseHexWord(X)) +Bytes mapStringToBytes32Bytes(XS) + +syntax Bytes ::= mapStringToBoolBytes ( List ) [function] +rule mapStringToBoolBytes(.List) => .Bytes +rule mapStringToBoolBytes(ListItem(X) XS) => #buf(32, bool2Word( String2Bool(X) )) +Bytes mapStringToBoolBytes(XS) ``` From 3c2eae5959fe402d65ee3074660d9d6fa8092c98 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Thu, 8 Jan 2026 15:12:16 +0000 Subject: [PATCH 20/31] Fixed int256 array --- src/kontrol/kdist/cheatcodes.md | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index c7efcf135..d8198fed3 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -2039,10 +2039,6 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa rule #processArrayOutput _ _ _ VARDEFAULTVALUE => .K ... _ => VARDEFAULTVALUE [owise] - - //syntax KItem ::= "#processUint256Array" List [symbol(foundry_processUint256Array)] - //rule #processUint256Array(VALUES) => .K ... - // _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToBytes(VALUES) ``` ```k @@ -2071,11 +2067,7 @@ rule split(S, D) => ListItem(substrString(S, 0, findString(S, D, 0))) split(subs syntax Bytes ::= mapStringToInt256Bytes ( List ) [function] rule mapStringToInt256Bytes(.List) => .Bytes -rule mapStringToInt256Bytes(ListItem(X) XS) => #buf(32, String2Int(X)) +Bytes mapStringToInt256Bytes(XS) - -syntax Bytes ::= mapStringToInt256Bytes ( List ) [function] -rule mapStringToInt256Bytes(.List) => .Bytes -rule mapStringToInt256Bytes(ListItem(X) XS) => #buf(32, String2Int(X)) +Bytes mapStringToInt256Bytes(XS) +rule mapStringToInt256Bytes(ListItem(X) XS) => Int2Bytes(32, String2Int(X), BE) +Bytes mapStringToInt256Bytes(XS) syntax Bytes ::= mapStringToAddressBytes ( List ) [function] rule mapStringToAddressBytes(.List) => .Bytes From 507e86d803976c2f10d8755b32942fb0c2486aca Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Fri, 9 Jan 2026 12:47:31 +0000 Subject: [PATCH 21/31] Working for arrays of strings --- src/kontrol/kdist/cheatcodes.md | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index d8198fed3..a9266dc7c 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -687,6 +687,7 @@ returns the default value. SetItem( selector ( "envOr(string,string,int256[])" ) ) SetItem( selector ( "envOr(string,string,address[])" ) ) SetItem( selector ( "envOr(string,string,bytes32[])" ) ) + SetItem( selector ( "envOr(string,string,string[])" ) ) ) [preserves-definedness] @@ -701,7 +702,7 @@ returns the default value. HEAD +Bytes BODY requires SELECTOR in ( - SetItem( selector ( "envOr(string,string,string[])" ) ) + //SetItem( selector ( "envOr(string,string,string[])" ) ) SetItem( selector ( "envOr(string,string,bytes[])" ) ) ) [preserves-definedness] @@ -2036,6 +2037,10 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToBoolBytes(VALUES) requires SELECTOR ==Int selector ( "envOr(string,string,bool[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) + rule #processArrayOutput SELECTOR VALUES _ => .K ... + _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes #enc ( #tuple (mapStringToStringBytes(VALUES) ) ) + requires SELECTOR ==Int selector ( "envOr(string,string,string[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) + rule #processArrayOutput _ _ _ VARDEFAULTVALUE => .K ... _ => VARDEFAULTVALUE [owise] @@ -2079,7 +2084,11 @@ rule mapStringToBytes32Bytes(ListItem(X) XS) => #buf(32, #parseHexWord(X)) +Byte syntax Bytes ::= mapStringToBoolBytes ( List ) [function] rule mapStringToBoolBytes(.List) => .Bytes -rule mapStringToBoolBytes(ListItem(X) XS) => #buf(32, bool2Word( String2Bool(X) )) +Bytes mapStringToBoolBytes(XS) +rule mapStringToBoolBytes(ListItem(X) XS) => #buf(32, bool2Word( String2Bool(X) )) +Bytes mapStringToBoolBytes(XS) + +syntax TypedArgs ::= mapStringToStringBytes ( List ) [function] +rule mapStringToStringBytes(.List) => .TypedArgs +rule mapStringToStringBytes(ListItem(X) XS) => #string(X), mapStringToStringBytes(XS) ``` From f35606228b151069e19b59c616dc0444878bd54e Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Mon, 12 Jan 2026 14:32:32 +0000 Subject: [PATCH 22/31] Refactored some rules --- src/kontrol/kdist/cheatcodes.md | 150 +++++++++++++------------------- 1 file changed, 60 insertions(+), 90 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index a9266dc7c..d0f13dcc8 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -1948,8 +1948,10 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa ```k syntax KItem ::= "#getEnvOrValue" Int Bytes Bytes [symbol(foundry_getEnvOrValue)] // ----------------------------------------------------------------------------- - rule #getEnvOrValue SELECTOR VARNAME VARDEFAULTVALUE => #processOutput SELECTOR VARVALUE VARDEFAULTVALUE ... + rule #getEnvOrValue SELECTOR VARNAME _ => .K ... ... VARNAME |-> VARVALUE ... + _ => #enc( valueAsTypedArg(SELECTOR, VARVALUE) ) + requires valueAsTypedArg(SELECTOR, VARVALUE) =/=K #bytes( .Bytes ) rule #getEnvOrValue _ _ VARDEFAULTVALUE => .K ... _ => VARDEFAULTVALUE @@ -1961,7 +1963,11 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa ```k syntax KItem ::= "#getEnvOrArray" Int Bytes String Bytes [symbol(foundry_getEnvOrArray)] // ----------------------------------------------------------------------------- - rule #getEnvOrArray SELECTOR VARNAME DELIMITER VARDEFAULTVALUE => #processArrayOutput SELECTOR split(VARVALUE, DELIMITER) VARDEFAULTVALUE ... + rule #getEnvOrArray SELECTOR VARNAME DELIMITER VARDEFAULTVALUE => + #let VALUES = split(VARVALUE, DELIMITER) #in + #processArrayOutput size(VALUES) mapTypedArgValue(SELECTOR, VALUES) VARDEFAULTVALUE + ... + ... VARNAME |-> VARVALUE ... rule #getEnvOrArray _ _ _ VARDEFAULTVALUE => .K ... @@ -1969,79 +1975,16 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa [owise] ``` -- `#processOutput` will process the output based on the selector and the variable value retrieved from the environment variable mapping. +- ` #processArrayOutput` will process the output as an array based on the variable value retrieved from the environment variable mapping. ```k - syntax KItem ::= "#processOutput" Int String Bytes [symbol(foundry_processOutputAsInt)] - // ----------------------------------------------------------------------------- - rule #processOutput SELECTOR VARVALUE _ => .K ... - _ => Int2Bytes(32, String2Int(VARVALUE), BE) - requires SELECTOR ==Int selector ( "envOr(string,int256)" ) andBool isIntegerString(VARVALUE) - - rule #processOutput SELECTOR VARVALUE _ => .K ... - _ => Int2Bytes(32, String2Int(VARVALUE), BE) - requires SELECTOR ==Int selector ( "envOr(string,uint256)" ) andBool isUnsignedIntegerString(VARVALUE) - - rule #processOutput SELECTOR VARVALUE _ => .K ... - _ => Int2Bytes(32, #parseHexWord(VARVALUE), BE) - requires SELECTOR ==Int selector ( "envOr(string,address)" ) - andBool (lengthString(VARVALUE) ==Int 42 orBool lengthString(VARVALUE) ==Int 40) - andBool isHexString(VARVALUE) - - rule #processOutput SELECTOR VARVALUE _ => .K ... - _ => Int2Bytes(32, #parseHexWord(VARVALUE), BE) - requires SELECTOR ==Int selector ( "envOr(string,bytes32)" ) - andBool (lengthString(VARVALUE) ==Int 66 orBool lengthString(VARVALUE) ==Int 64) - andBool isHexString(VARVALUE) - - rule #processOutput SELECTOR VARVALUE _ => .K ... - _ => Int2Bytes(32, bool2Word( String2Bool(VARVALUE) ), BE) - requires SELECTOR ==Int selector ( "envOr(string,bool)" ) - andBool (VARVALUE ==K "true" orBool VARVALUE ==K "false") - - rule #processOutput SELECTOR VARVALUE _ => .K ... - _ => #enc( #tuple( #string(VARVALUE))) - requires SELECTOR ==Int selector ( "envOr(string,string)" ) - - rule #processOutput SELECTOR VARVALUE _ => .K ... - _ => #enc( #tuple( #bytes( #parseByteStack(VARVALUE) ))) - requires SELECTOR ==Int selector ( "envOr(string,bytes)" ) andBool isHexString(VARVALUE) - - rule #processOutput _ _ VARDEFAULTVALUE => .K ... - _ => VARDEFAULTVALUE - [owise] -``` - -- ` #processArrayOutput` will process the output as an array based on the selector and the variable value retrieved from the environment variable mapping. - -```k - syntax KItem ::= "#processArrayOutput" Int List Bytes [symbol(foundry_processArrayOutputAsInt)] - // ----------------------------------------------------------------------------- - rule #processArrayOutput SELECTOR VALUES _ => .K ... - _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToInt256Bytes(VALUES) - requires SELECTOR ==Int selector ( "envOr(string,string,int256[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) - - rule #processArrayOutput SELECTOR VALUES _ => .K ... - _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToInt256Bytes(VALUES) - requires SELECTOR ==Int selector ( "envOr(string,string,uint256[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) - - rule #processArrayOutput SELECTOR VALUES _ => .K ... - _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToAddressBytes(VALUES) - requires SELECTOR ==Int selector ( "envOr(string,string,address[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) - - rule #processArrayOutput SELECTOR VALUES _ => .K ... - _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToBytes32Bytes(VALUES) - requires SELECTOR ==Int selector ( "envOr(string,string,bytes32[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) - - rule #processArrayOutput SELECTOR VALUES _ => .K ... - _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes mapStringToBoolBytes(VALUES) - requires SELECTOR ==Int selector ( "envOr(string,string,bool[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) + syntax KItem ::= "#processArrayOutput" Int TypedArgs Bytes [symbol(foundry_processArrayOutput)] + // ----------------------------------------------------------------------------- + rule #processArrayOutput SIZE OUT _ => .K ... + _ => #enc( #tuple( #array(#bytes( .Bytes ), SIZE, OUT) ) ) + requires sizeOfTypedArgs(OUT) ==Int SIZE - rule #processArrayOutput SELECTOR VALUES _ => .K ... - _ => (Int2Bytes(32, 32, BE)) +Bytes Int2Bytes(32, size(VALUES), BE) +Bytes #enc ( #tuple (mapStringToStringBytes(VALUES) ) ) - requires SELECTOR ==Int selector ( "envOr(string,string,string[])" ) // andBool forallBool( split(VARVALUE, DELIMITER), isIntegerString ) - - rule #processArrayOutput _ _ _ VARDEFAULTVALUE => .K ... + rule #processArrayOutput _ _ VARDEFAULTVALUE => .K ... _ => VARDEFAULTVALUE [owise] ``` @@ -2066,29 +2009,56 @@ rule isHexString(S) => true orBool String2Base(replaceAll(S, "0x", ""), 16) =/=K 0 rule isHexString(_) => false [owise] -syntax List ::= split ( String , String ) [function] -rule split(S, D) => ListItem(S) requires findString(S, D, 0) ==Int -1 -rule split(S, D) => ListItem(substrString(S, 0, findString(S, D, 0))) split(substrString(S, findString(S, D, 0) +Int lengthString(D), lengthString(S)), D) requires findString(S, D, 0) =/=Int -1 +syntax TypedArg ::= valueAsTypedArg ( Int , String ) [function] + +rule valueAsTypedArg(SELECTOR, VALUE) => #int256( String2Int(VALUE) ) + requires (SELECTOR ==Int selector ( "envOr(string,int256)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,int256[])" )) + andBool isIntegerString(VALUE) + +rule valueAsTypedArg(SELECTOR, VALUE) => #uint256( String2Int(VALUE) ) + requires (SELECTOR ==Int selector ( "envOr(string,uint256)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,uint256[])" )) + andBool isUnsignedIntegerString(VALUE) + +rule valueAsTypedArg(SELECTOR, VALUE) => #address( #parseHexWord(VALUE) ) + requires (SELECTOR ==Int selector ( "envOr(string,address)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,address[])" )) + andBool (lengthString(VALUE) ==Int 42 orBool lengthString(VALUE) ==Int 40) + andBool isHexString(VALUE) -syntax Bytes ::= mapStringToInt256Bytes ( List ) [function] -rule mapStringToInt256Bytes(.List) => .Bytes -rule mapStringToInt256Bytes(ListItem(X) XS) => Int2Bytes(32, String2Int(X), BE) +Bytes mapStringToInt256Bytes(XS) +rule valueAsTypedArg(SELECTOR, VALUE) => #bytes32( #parseHexWord(VALUE) ) + requires (SELECTOR ==Int selector ( "envOr(string,bytes32)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,bytes32[])" )) + andBool (lengthString(VALUE) ==Int 66 orBool lengthString(VALUE) ==Int 64) + andBool isHexString(VALUE) -syntax Bytes ::= mapStringToAddressBytes ( List ) [function] -rule mapStringToAddressBytes(.List) => .Bytes -rule mapStringToAddressBytes(ListItem(X) XS) => #buf(32, #parseHexWord(X)) +Bytes mapStringToAddressBytes(XS) +rule valueAsTypedArg(SELECTOR, VALUE) => #bool( bool2Word( String2Bool(VALUE) )) + requires (SELECTOR ==Int selector ( "envOr(string,bool)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,bool[])" )) + andBool (VALUE ==K "true" orBool VALUE ==K "false") -syntax Bytes ::= mapStringToBytes32Bytes ( List ) [function] -rule mapStringToBytes32Bytes(.List) => .Bytes -rule mapStringToBytes32Bytes(ListItem(X) XS) => #buf(32, #parseHexWord(X)) +Bytes mapStringToBytes32Bytes(XS) +rule valueAsTypedArg(SELECTOR, VALUE) => #tuple( #string(VALUE)) + requires SELECTOR ==Int selector ( "envOr(string,string)" ) + +rule valueAsTypedArg(SELECTOR, VALUE) => #string(VALUE) + requires SELECTOR ==Int selector ( "envOr(string,string,string[])" ) + +rule valueAsTypedArg(SELECTOR, VALUE) => #tuple( #bytes( #parseByteStack(VALUE) )) + requires (SELECTOR ==Int selector ( "envOr(string,bytes)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,bytes[])" )) + andBool isHexString(VALUE) + +rule valueAsTypedArg(_, _) => #bytes( .Bytes ) + [owise] + +syntax List ::= split ( String , String ) [function] +rule split(S, D) => ListItem(S) requires findString(S, D, 0) ==Int -1 +rule split(S, D) => ListItem(substrString(S, 0, findString(S, D, 0))) split(substrString(S, findString(S, D, 0) +Int lengthString(D), lengthString(S)), D) requires findString(S, D, 0) =/=Int -1 -syntax Bytes ::= mapStringToBoolBytes ( List ) [function] -rule mapStringToBoolBytes(.List) => .Bytes -rule mapStringToBoolBytes(ListItem(X) XS) => #buf(32, bool2Word( String2Bool(X) )) +Bytes mapStringToBoolBytes(XS) +syntax TypedArgs ::= mapTypedArgValue (Int, List) [function] +rule mapTypedArgValue(SELECTOR, ListItem(X) XS) => valueAsTypedArg(SELECTOR, X), mapTypedArgValue(SELECTOR, XS) + requires valueAsTypedArg(SELECTOR, X) =/=K #bytes( .Bytes ) +rule mapTypedArgValue(_, _) => .TypedArgs + [owise] -syntax TypedArgs ::= mapStringToStringBytes ( List ) [function] -rule mapStringToStringBytes(.List) => .TypedArgs -rule mapStringToStringBytes(ListItem(X) XS) => #string(X), mapStringToStringBytes(XS) +syntax Int ::= sizeOfTypedArgs ( TypedArgs ) [function] +rule sizeOfTypedArgs(.TypedArgs) => 0 +rule sizeOfTypedArgs(_ , TAIL) => 1 +Int sizeOfTypedArgs(TAIL) ``` From 5507a9d33946b261f6999be537100cae86849dc9 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Mon, 12 Jan 2026 14:33:22 +0000 Subject: [PATCH 23/31] Added more tests for envOr with arrays --- .../integration/test-data/foundry-prove-all | 9 ++- src/tests/integration/test-data/foundry/.env | 7 +- .../test-data/foundry/test/EnvOrTest.t.sol | 74 ++++++++++++++++++- 3 files changed, 85 insertions(+), 5 deletions(-) diff --git a/src/tests/integration/test-data/foundry-prove-all b/src/tests/integration/test-data/foundry-prove-all index e84863699..30fb8cf83 100644 --- a/src/tests/integration/test-data/foundry-prove-all +++ b/src/tests/integration/test-data/foundry-prove-all @@ -120,7 +120,14 @@ EnvOrTest.testEnvOrString() EnvOrTest.testEnvOrStringDefault() EnvOrTest.testEnvOrBytes() EnvOrTest.testEnvOrBytesDefault() -EnvOrTest.testEnvOrBytesBad() +EnvOrTest.testEnvOrArrayUint256() +EnvOrTest.testEnvOrArrayUint256Default() +EnvOrTest.testEnvOrArrayInt256() +EnvOrTest.testEnvOrArrayAddress() +EnvOrTest.testEnvOrArrayBytes32() +EnvOrTest.testEnvOrArrayBool() +EnvOrTest.testEnvOrArrayString() +EnvOrTest.testEnvOrArrayStringDefault() ExpectCallTest.testExpectRegularCall() ExpectCallTest.testExpectStaticCall() ExpectRevertTest.test_expectRevert_bytes4() diff --git a/src/tests/integration/test-data/foundry/.env b/src/tests/integration/test-data/foundry/.env index a83292c0c..1db5ae702 100644 --- a/src/tests/integration/test-data/foundry/.env +++ b/src/tests/integration/test-data/foundry/.env @@ -13,4 +13,9 @@ BOOLTRUE=true BADBOOLTRUE=notaboolvalue BYTES=0xdeadbeef STRING=hello_world -BADBYTES=notabytesvalue +UINT256ARRAY=0,1,2,3,4 +INT256ARRAY=-2,-1,0,1,2 +ADDRESSARRAY=0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012 +BYTES32ARRAY=0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189 +BOOLARRAY=true,false,true,false +STRINGARRAY=one,two \ No newline at end of file diff --git a/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol index 7af52adc6..4dde9a2f9 100644 --- a/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol +++ b/src/tests/integration/test-data/foundry/test/EnvOrTest.t.sol @@ -136,18 +136,86 @@ contract EnvOrTest is Test { assertEq(defaultValue, value); } - function testEnvOrUint256Array() public { + function testEnvOrArrayUint256() public { + uint256[] memory defaultValue = new uint256[](2); + defaultValue[0] = 6; + defaultValue[1] = 7; + uint256[] memory value = vm.envOr("UINT256ARRAY", ",", defaultValue); + assertEq(5, value.length); + for (uint256 i = 0; i < 5; i++) { + assertEq(i, value[i]); + } + } + + function testEnvOrArrayUint256Default() public { uint256[] memory defaultValue = new uint256[](2); defaultValue[0] = 1; defaultValue[1] = 2; - uint256[] memory value = vm.envOr("ANY", ",", defaultValue); + uint256[] memory value = vm.envOr("DEFAULT", ",", defaultValue); assertEq(defaultValue.length, value.length); for (uint256 i = 0; i < defaultValue.length; i++) { assertEq(defaultValue[i], value[i]); } } - function testEnvOrStringArray() public { + function testEnvOrArrayInt256() public { + int256[] memory defaultValue = new int256[](2); + defaultValue[0] = -6; + defaultValue[1] = -7; + int256[] memory value = vm.envOr("INT256ARRAY", ",", defaultValue); + assertEq(5, value.length); + for (uint256 i = 0; i < 5; i++) { + assertEq(int256(i), value[i]+2); + } + } + + function testEnvOrArrayAddress() public { + address[] memory defaultValue = new address[](2); + defaultValue[0] = address(0x1); + defaultValue[1] = address(0x2); + address[] memory value = vm.envOr("ADDRESSARRAY", ",", defaultValue); + assertEq(3, value.length); + assertEq(address(0x1234567890123456789012345678901234567890), value[0]); + assertEq(address(0x2345678901234567890123456789012345678901), value[1]); + assertEq(address(0x3456789012345678901234567890123456789012), value[2]); + } + + function testEnvOrArrayBytes32() public { + bytes32[] memory defaultValue = new bytes32[](2); + defaultValue[0] = bytes32("one"); + defaultValue[1] = bytes32("two"); + bytes32[] memory value = vm.envOr("BYTES32ARRAY", ",", defaultValue); + assertEq(3, value.length); + assertEq(0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0, value[0]); + assertEq(0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65, value[1]); + assertEq(0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189, value[2]); + } + + function testEnvOrArrayBool() public { + bool[] memory defaultValue = new bool[](2); + defaultValue[0] = true; + defaultValue[1] = false; + bool[] memory value = vm.envOr("BOOLARRAY", ",", defaultValue); + assertEq(4, value.length); + assertEq(true, value[0]); + assertEq(false, value[1]); + assertEq(true, value[2]); + assertEq(false, value[3]); + } + + function testEnvOrArrayString() public { + string[] memory defaultValue = new string[](0); + string[] memory retrievedValue = new string[](2); + retrievedValue[0] = "one"; + retrievedValue[1] = "two"; + string[] memory value = vm.envOr("STRINGARRAY", ",", defaultValue); + //assertEq(retrievedValue.length, value.length); + for (uint256 i = 0; i < retrievedValue.length; i++) { + assertEq(retrievedValue[i], value[i]); + } + } + + function testEnvOrArrayStringDefault() public { string[] memory defaultValue = new string[](2); defaultValue[0] = "one"; defaultValue[1] = "two"; From d839d60cfd609fdc3047a906df64108cbac7f6cb Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Tue, 13 Jan 2026 10:02:43 +0000 Subject: [PATCH 24/31] Updated expected output --- .../AddConst.applyOp(uint256).cse.expected | 46 + ...t_double_add(uint256,uint256).cse.expected | 121 +- ...d_double_sub(uint256,uint256).cse.expected | 173 +- ...rnal(uint256,uint256,uint256).cse.expected | 167 +- ...Contract.add(uint256,uint256).cse.expected | 46 + ...rnal(uint256,uint256,uint256).cse.expected | 2187 +++++---- ...sertTest.checkFail_assert_false().expected | 115 + ...AssertTest.testFail_assert_true().expected | 138 + ...sertTest.testFail_expect_revert().expected | 368 ++ .../AssertTest.test_assert_false().expected | 138 + .../AssertTest.test_assert_true().expected | 115 + ...Test.test_failing_branch(uint256).expected | 314 +- ...st_revert_branch(uint256,uint256).expected | 253 + ...ail_assume_false(uint256,uint256).expected | 138 + ...Fail_assume_true(uint256,uint256).expected | 184 + ...est_assume_false(uint256,uint256).expected | 207 + .../show/BMCBoundTest.testBound().expected | 322 ++ ...st_add_const(uint256,uint256).cse.expected | 69 + ...est_identity(uint256,uint256).cse.expected | 69 + ...CallableStorageContract.str().cse.expected | 46 + ...allableStorageTest.test_str().cse.expected | 23 + .../show/ConstructorTest.init.cse.expected | 985 +++- ...ctorTest.test_contract_call().cse.expected | 23 + ...ctFieldTest.testEscrowToken().cse.expected | 23 + ...um.enum_argument_range(uint8).cse.expected | 23 + .../Enum.enum_storage_range().cse.expected | 3226 ++++++------ .../test-data/show/Enum.init.cse.expected | 23 + ...chTest.test_forgetBranch(uint256).expected | 15 + .../Identity.applyOp(uint256).cse.expected | 2135 ++++---- .../Identity.identity(uint256).cse.expected | 23 + ...ImportedContract.add(uint256).cse.expected | 46 + .../ImportedContract.count().cse.expected | 23 + .../show/ImportedContract.init.cse.expected | 23 + ...ImportedContract.set(uint256).cse.expected | 46 + ...erfaceTagTest.testInterface().cse.expected | 23 + ...ionTest.testPrecondition(uint256).expected | 15 + ...onTest.testPrecondition_storage().expected | 9 + ...RandomVarTest.test_custom_names().expected | 45 + ...etUpDeployTest.test_extcodesize().expected | 115 + ...aticCallContract.set(uint256).cse.expected | 23 + ...e.getEscrowTokenTotalSupply().cse.expected | 637 ++- ...test_checkInitialBalance(uint256).expected | 23 +- .../test-data/show/gas-abstraction.expected | 92 + .../test-data/show/merge-loop-heads.expected | 184 + ...sertTest.testFail_expect_revert().expected | 48 +- .../AssertTest.test_assert_false().expected | 48 +- ...Test.test_failing_branch(uint256).expected | 94 +- ...st_revert_branch(uint256,uint256).expected | 148 +- ...ranch_merge(uint256,uint256,bool).expected | 121 +- .../test-data/show/node-refutation.expected | 138 + .../test-data/show/split-node.expected | 4339 +++++++++++------ 51 files changed, 12439 insertions(+), 5516 deletions(-) diff --git a/src/tests/integration/test-data/show/AddConst.applyOp(uint256).cse.expected b/src/tests/integration/test-data/show/AddConst.applyOp(uint256).cse.expected index a42641e06..218178699 100644 --- a/src/tests/integration/test-data/show/AddConst.applyOp(uint256).cse.expected +++ b/src/tests/integration/test-data/show/AddConst.applyOp(uint256).cse.expected @@ -211,6 +211,29 @@ module SUMMARY-SRC%CSE%ADDCONST.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -384,6 +407,29 @@ module SUMMARY-SRC%CSE%ADDCONST.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... diff --git a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add(uint256,uint256).cse.expected b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add(uint256,uint256).cse.expected index 0668a9ba3..2e03370a7 100644 --- a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add(uint256,uint256).cse.expected +++ b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add(uint256,uint256).cse.expected @@ -51,7 +51,7 @@ ┃ │ method: src%ArithmeticContract.add(uint256,uint256) ┃ │ ┃ │ (486 steps) -┃ └─ 15 (leaf, terminal) +┃ └─ 17 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 2474 ┃ callDepth: 0 @@ -475,6 +475,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -867,6 +890,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -883,7 +929,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD(UINT256,UINT256):0 )))) [priority(20), label(BASIC-BLOCK-1-TO-7)] - rule [BASIC-BLOCK-21-TO-15]: + rule [BASIC-BLOCK-21-TO-17]: ( #execute @@ -1241,6 +1287,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -1257,7 +1326,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD(UINT256,UINT256):0 andBool ( ( maxUInt256 -Int KV1_y:Int ) @@ -1617,6 +1686,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -1994,6 +2086,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int diff --git a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_double_sub(uint256,uint256).cse.expected b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_double_sub(uint256,uint256).cse.expected index 9a245e77a..b1d928962 100644 --- a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_double_sub(uint256,uint256).cse.expected +++ b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_double_sub(uint256,uint256).cse.expected @@ -30,7 +30,7 @@ ┃ │ method: src%ArithmeticContract.add(uint256,uint256) ┃ │ ┃ │ (73 steps) -┃ └─ 11 (leaf, terminal) +┃ └─ 13 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 2613 ┃ callDepth: 0 @@ -73,7 +73,7 @@ ┃ │ method: src%ArithmeticContract.add(uint256,uint256) ┃ │ ┃ │ (907 steps) -┃ └─ 19 (leaf, terminal) +┃ └─ 21 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 2852 ┃ callDepth: 0 @@ -166,7 +166,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-DOUBLE-SUB(UINT256,UINT256):0 - rule [BASIC-BLOCK-9-TO-11]: + rule [BASIC-BLOCK-9-TO-13]: ( #execute @@ -524,6 +524,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-DOUBLE-SUB(UINT256,UINT25 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -538,7 +561,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-DOUBLE-SUB(UINT256,UINT25 andBool ( MIXHASH_CELL:Int @@ -916,6 +939,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-DOUBLE-SUB(UINT256,UINT25 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1290,6 +1336,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-DOUBLE-SUB(UINT256,UINT25 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -1308,7 +1377,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-DOUBLE-SUB(UINT256,UINT25 ensures ( KV0_x:Int +Int KV1_y:Int ) + rule [BASIC-BLOCK-37-TO-21]: ( #execute @@ -1666,6 +1735,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-DOUBLE-SUB(UINT256,UINT25 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -1683,7 +1775,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-DOUBLE-SUB(UINT256,UINT25 andBool ( ( KV0_x:Int +Int KV1_y:Int ) <=Int ( maxUInt256 -Int KV1_y:Int ) ))))))))))))) ensures ( KV0_x:Int +Int KV1_y:Int ) @@ -2043,6 +2135,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-DOUBLE-SUB(UINT256,UINT25 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -2423,6 +2538,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-DOUBLE-SUB(UINT256,UINT25 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -2805,6 +2943,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-DOUBLE-SUB(UINT256,UINT25 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int diff --git a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256).cse.expected b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256).cse.expected index 8b25aa972..babcd7c3a 100644 --- a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256).cse.expected +++ b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256).cse.expected @@ -94,7 +94,7 @@ ┃ │ method: src%ArithmeticContract.add(uint256,uint256) ┃ │ ┃ │ (1910 steps) -┃ └─ 33 (leaf, terminal) +┃ └─ 35 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 1708 ┃ callDepth: 0 @@ -664,6 +664,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1165,6 +1188,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -1666,6 +1712,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -2168,6 +2237,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -2189,7 +2281,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ensures ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) + rule [BASIC-BLOCK-53-TO-35]: ( JUMPI 570 bool2Word ( KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) ) @@ -2672,6 +2764,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -2692,7 +2807,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT andBool ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) <=Int ( maxUInt256 -Int KV1_y:Int ) )))))))))))))))) ensures ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) @@ -3177,6 +3292,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -3683,6 +3821,29 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int diff --git a/src/tests/integration/test-data/show/ArithmeticContract.add(uint256,uint256).cse.expected b/src/tests/integration/test-data/show/ArithmeticContract.add(uint256,uint256).cse.expected index 3cb6f0b90..d38992ecd 100644 --- a/src/tests/integration/test-data/show/ArithmeticContract.add(uint256,uint256).cse.expected +++ b/src/tests/integration/test-data/show/ArithmeticContract.add(uint256,uint256).cse.expected @@ -208,6 +208,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -380,6 +403,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... diff --git a/src/tests/integration/test-data/show/ArithmeticContract.add_sub_external(uint256,uint256,uint256).cse.expected b/src/tests/integration/test-data/show/ArithmeticContract.add_sub_external(uint256,uint256,uint256).cse.expected index b4831184a..b8db29701 100644 --- a/src/tests/integration/test-data/show/ArithmeticContract.add_sub_external(uint256,uint256,uint256).cse.expected +++ b/src/tests/integration/test-data/show/ArithmeticContract.add_sub_external(uint256,uint256,uint256).cse.expected @@ -70,7 +70,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 134 +┃ ┃ ┃ ┃ ├─ 124 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -94,7 +94,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 154 +┃ ┃ ┃ ┃ ├─ 144 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -114,7 +114,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 155 +┃ ┃ ┃ ├─ 145 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -149,7 +149,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 136 +┃ ┃ ┃ ┃ ├─ 126 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -173,7 +173,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 156 +┃ ┃ ┃ ┃ ├─ 146 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -182,7 +182,7 @@ ┃ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 102 (leaf, pending) +┃ ┃ ┃ ┃ └─ 104 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -193,7 +193,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 157 +┃ ┃ ┃ ├─ 147 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -202,7 +202,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 103 (leaf, pending) +┃ ┃ ┃ └─ 105 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -223,7 +223,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 39 (split) +┃ ┃ ┃ ├─ 42 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -239,7 +239,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 142 +┃ ┃ ┃ ┃ ├─ 136 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -248,7 +248,7 @@ ┃ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 104 (leaf, pending) +┃ ┃ ┃ ┃ └─ 109 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -259,7 +259,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 143 +┃ ┃ ┃ ├─ 137 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -268,7 +268,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 105 (leaf, pending) +┃ ┃ ┃ └─ 110 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -278,7 +278,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 40 +┃ ┃ ├─ 43 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -289,7 +289,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 66 +┃ ┃ ┃ ├─ 70 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -298,7 +298,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 106 (leaf, pending) +┃ ┃ ┃ └─ 113 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -308,7 +308,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 67 +┃ ┃ ├─ 71 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -319,7 +319,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 107 (leaf, pending) +┃ ┃ ┃ └─ 114 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -329,7 +329,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 108 (leaf, pending) +┃ ┃ └─ 115 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 279 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -363,7 +363,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 41 (split) +┃ ┃ ┃ ├─ 39 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -379,7 +379,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 144 +┃ ┃ ┃ ┃ ├─ 132 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -388,7 +388,7 @@ ┃ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 109 (leaf, pending) +┃ ┃ ┃ ┃ └─ 106 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -399,7 +399,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 145 +┃ ┃ ┃ ├─ 133 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -408,7 +408,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 110 (leaf, pending) +┃ ┃ ┃ └─ 107 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -418,7 +418,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 42 (split) +┃ ┃ ┃ ├─ 40 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -434,7 +434,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 146 +┃ ┃ ┃ ┃ ├─ 134 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -443,7 +443,7 @@ ┃ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 111 (leaf, pending) +┃ ┃ ┃ ┃ └─ 102 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -454,7 +454,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 147 +┃ ┃ ┃ ├─ 135 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -463,7 +463,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 112 (leaf, pending) +┃ ┃ ┃ └─ 103 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -473,7 +473,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 43 +┃ ┃ ├─ 41 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -484,7 +484,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 70 +┃ ┃ ┃ ├─ 67 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -493,7 +493,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 113 (leaf, pending) +┃ ┃ ┃ └─ 108 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -503,7 +503,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 71 +┃ ┃ ├─ 68 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -514,7 +514,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 114 (leaf, pending) +┃ ┃ ┃ └─ 111 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -524,7 +524,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 115 (leaf, pending) +┃ ┃ └─ 112 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 279 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -538,100 +538,7 @@ ┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ARITHMETICCONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 26 -┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 196 ~> #execute ~ ... -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ ├─ 44 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 72 -┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... -┃ ┃ ┃ │ pc: 279 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ │ -┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 116 (leaf, pending) -┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... -┃ ┃ ┃ pc: 279 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 73 -┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... -┃ ┃ ┃ │ pc: 279 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ │ -┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 117 (leaf, pending) -┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... -┃ ┃ ┃ pc: 279 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ ├─ 74 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 279 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 118 (leaf, pending) -┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... -┃ ┃ ┃ pc: 279 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 119 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ pc: 279 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: lib/forge-std/src/StdInvariant.sol:85:87 -┃ ┃ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ARITHMETICCONTRACT_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 45 +┃ ┃ ├─ 28 ┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 196 ~> #execute ~ ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -640,7 +547,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (1 step) -┃ ┃ ├─ 75 +┃ ┃ ├─ 47 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -651,7 +558,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 120 (leaf, pending) +┃ ┃ ┃ └─ 74 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -661,7 +568,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 121 (leaf, pending) +┃ ┃ ┃ └─ 75 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -671,7 +578,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 122 (leaf, pending) +┃ ┃ └─ 76 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 279 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -685,7 +592,7 @@ ┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ARITHMETICCONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 76 +┃ ┃ ├─ 48 ┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 196 ~> #execute ~ ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -694,7 +601,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (1 step) -┃ ┃ └─ 123 (leaf, pending) +┃ ┃ └─ 79 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 279 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -708,7 +615,7 @@ ┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ARITHMETICCONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ └─ 124 (leaf, pending) +┃ ┃ └─ 80 (leaf, pending) ┃ ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 196 ~> #execute ~ ... ┃ ┃ pc: 279 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -719,7 +626,7 @@ ┃ ┗━━┓ subst: .Subst ┃ ┃ constraint: true ┃ │ -┃ └─ 125 (leaf, pending) +┃ └─ 81 (leaf, pending) ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 196 ~> #execute ~ ... ┃ pc: 279 ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -756,7 +663,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 126 +┃ ┃ ┃ ├─ 116 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -765,7 +672,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (6 steps) -┃ ┃ ┃ └─ 78 (leaf, pending) +┃ ┃ ┃ └─ 72 (leaf, pending) ┃ ┃ ┃ k: #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ~> #end ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -780,7 +687,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 148 +┃ ┃ ┃ ├─ 138 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -789,7 +696,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 79 (leaf, pending) +┃ ┃ ┃ └─ 73 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -804,7 +711,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 158 +┃ ┃ ┃ ├─ 148 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -813,7 +720,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 80 (leaf, pending) +┃ ┃ ┃ └─ 77 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -824,7 +731,7 @@ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ constraint: true ┃ ┃ │ -┃ ┃ ├─ 159 +┃ ┃ ├─ 149 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -833,7 +740,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 81 (leaf, pending) +┃ ┃ └─ 78 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 279 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -859,7 +766,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 128 +┃ ┃ ┃ ├─ 118 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -883,7 +790,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 150 +┃ ┃ ┃ ├─ 140 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -907,7 +814,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 160 +┃ ┃ ┃ ├─ 150 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -916,7 +823,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 84 (leaf, pending) +┃ ┃ ┃ └─ 86 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -927,7 +834,7 @@ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ constraint: true ┃ ┃ │ -┃ ┃ ├─ 161 +┃ ┃ ├─ 151 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -936,7 +843,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 85 (leaf, pending) +┃ ┃ └─ 87 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 279 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -957,7 +864,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ ├─ 18 (split) +┃ ┃ ├─ 20 (split) ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -973,7 +880,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 130 +┃ ┃ ┃ ├─ 122 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -982,7 +889,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 86 (leaf, pending) +┃ ┃ ┃ └─ 88 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -997,7 +904,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 152 +┃ ┃ ┃ ├─ 142 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1006,7 +913,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 87 (leaf, pending) +┃ ┃ ┃ └─ 89 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1017,7 +924,7 @@ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ constraint: true ┃ ┃ │ -┃ ┃ ├─ 153 +┃ ┃ ├─ 143 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1026,7 +933,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 88 (leaf, pending) +┃ ┃ └─ 90 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 279 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1036,7 +943,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ ├─ 19 +┃ ├─ 21 ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ │ pc: 279 ┃ │ callDepth: DEPTH_CELL:Int @@ -1047,7 +954,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ ├─ 33 (split) +┃ ┃ ├─ 35 (split) ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1063,7 +970,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 138 +┃ ┃ ┃ ├─ 130 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1072,7 +979,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 89 (leaf, pending) +┃ ┃ ┃ └─ 92 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1083,7 +990,7 @@ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ constraint: true ┃ ┃ │ -┃ ┃ ├─ 139 +┃ ┃ ├─ 131 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1092,7 +999,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 90 (leaf, pending) +┃ ┃ └─ 93 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 279 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1102,7 +1009,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ ├─ 34 +┃ ├─ 36 ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ │ pc: 279 ┃ │ callDepth: DEPTH_CELL:Int @@ -1113,7 +1020,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ ├─ 56 +┃ ┃ ├─ 59 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1122,7 +1029,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 91 (leaf, pending) +┃ ┃ └─ 95 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 279 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1132,7 +1039,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ ├─ 57 +┃ ├─ 60 ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ │ pc: 279 ┃ │ callDepth: DEPTH_CELL:Int @@ -1143,7 +1050,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ └─ 92 (leaf, pending) +┃ ┃ └─ 96 (leaf, pending) ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ pc: 279 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1153,7 +1060,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ └─ 93 (leaf, pending) +┃ └─ 97 (leaf, pending) ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ pc: 279 ┃ callDepth: DEPTH_CELL:Int @@ -1183,7 +1090,7 @@ ┃ (1 step) ┣━━┓ ┃ │ - ┃ ├─ 20 (split) + ┃ ├─ 18 (split) ┃ │ k: #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ~> ... ┃ │ pc: 279 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1196,7 +1103,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ 0 ==Int ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1205,7 +1112,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (189 steps) - ┃ ┃ └─ 94 (leaf, pending) + ┃ ┃ └─ 84 (leaf, pending) ┃ ┃ k: JUMPI 593 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s ... ┃ │ pc: 279 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1226,7 +1133,7 @@ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ │ ┃ │ (189 steps) - ┃ └─ 95 (leaf, pending) + ┃ └─ 85 (leaf, pending) ┃ k: JUMPI 593 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #checkCall C_ARITHMETICCONTRACT_I ... │ pc: 279 │ callDepth: CALLDEPTH_CELL:Int @@ -1249,7 +1156,7 @@ ┃ ┃ constraint: ┃ ┃ CALLDEPTH_CELL:Int #checkCall C_ARITHMETICCONTRACT_I ... ┃ │ pc: 279 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1258,7 +1165,7 @@ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ │ ┃ │ (19 steps) - ┃ └─ 96 (leaf, pending) + ┃ └─ 91 (leaf, pending) ┃ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K ┃ pc: 0 ┃ callDepth: ( CALLDEPTH_CELL:Int +Int 1 ) @@ -1270,7 +1177,7 @@ ┃ constraint: ┃ 1024 <=Int CALLDEPTH_CELL:Int │ - ├─ 133 + ├─ 121 │ k: #accessAccounts C_ARITHMETICCONTRACT_ID:Int ~> #checkCall C_ARITHMETICCONTRACT_I ... │ pc: 279 │ callDepth: CALLDEPTH_CELL:Int @@ -1279,7 +1186,7 @@ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) │ │ (79 steps) - └─ 97 (leaf, pending) + └─ 94 (leaf, pending) k: #halt ~> CONTINUATION:K pc: 295 callDepth: CALLDEPTH_CELL:Int @@ -1424,6 +1331,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -1618,6 +1548,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -1816,6 +1769,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2018,6 +1994,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2067,7 +2066,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ensures NEWCALLER_CELL:Account ~> .K =/=K C_ARITHMETICCONTRACT_ID:Int ~> .K [priority(20), label(BASIC-BLOCK-14-TO-25)] - rule [BASIC-BLOCK-26-TO-44]: + rule [BASIC-BLOCK-28-TO-47]: ( #next [ STATICCALL ] ~> .K => #injectPrank @@ -2220,6 +2219,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2267,9 +2289,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) )))))))))))))))))))))))))))))))))) ensures NEWCALLER_CELL:Account ~> .K =/=K C_ARITHMETICCONTRACT_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-26-TO-44)] + [priority(20), label(BASIC-BLOCK-28-TO-47)] - rule [BASIC-BLOCK-45-TO-75]: + rule [BASIC-BLOCK-48-TO-79]: ( #next [ STATICCALL ] ~> .K => #injectPrank @@ -2422,6 +2444,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2469,9 +2514,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) )))))))))))))))))))))))))))))))))) ensures NEWCALLER_CELL:Account ~> .K =/=K C_ARITHMETICCONTRACT_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-45-TO-75)] + [priority(20), label(BASIC-BLOCK-48-TO-79)] - rule [BASIC-BLOCK-56-TO-91]: + rule [BASIC-BLOCK-59-TO-95]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -2625,6 +2670,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2675,9 +2743,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-56-TO-91)] + [priority(20), label(BASIC-BLOCK-59-TO-95)] - rule [BASIC-BLOCK-66-TO-106]: + rule [BASIC-BLOCK-67-TO-108]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -2739,7 +2807,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG1:Int + NOG0:Int @@ -2788,7 +2856,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG1:Int + NOG0:Int true @@ -2833,12 +2901,35 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -2858,8 +2949,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( C_ARITHMETICCONTRACT_NONCE:Int @@ -2947,7 +3037,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG0:Int + NOG1:Int @@ -2996,7 +3086,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG0:Int + NOG1:Int true @@ -3041,12 +3131,35 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -3066,7 +3179,8 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( C_ARITHMETICCONTRACT_NONCE:Int + rule [BASIC-BLOCK-128-TO-84]: - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 196 + ( #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" + ~> #pc [ STATICCALL ] => JUMPI 593 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) ~> #execute ~> _CONTINUATION:K @@ -3114,9 +3230,12 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): + + OUTPUT_CELL:Bytes + - NCL:Int + #address ( FoundryConsole ) CALLER_ID:Int @@ -3128,10 +3247,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) + ( ( 196 => 0 ) : ( ( 1997931255 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 0 => 332 ) : ( 0 : ( ( KV2_z:Int => 0 ) : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 2619793463 => 111 ) : ( .WordStack => ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes #buf ( 32 , ( KV0_x:Int => chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) ) +Bytes ( #buf ( 32 , KV1_y:Int ) => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ) 0 @@ -3140,10 +3259,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - EXPECTEDDEPTH_CELL:Int + CALLDEPTH_CELL:Int - C_ARITHMETICCONTRACT_ID:Int + #address ( FoundryConsole ) ... @@ -3154,7 +3273,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG:Int + ORIGIN_ID:Int @@ -3177,7 +3296,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ( - C_ARITHMETICCONTRACT_ID:Int + #address ( FoundryConsole ) C_ARITHMETICCONTRACT_BAL:Int @@ -3200,22 +3319,19 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - NCL:Int + NEWCALLER_CELL:Account - - NOG:Int - - true + ACTIVE_CELL:Bool - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -3248,15 +3364,33 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + requires ( _C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -3266,25 +3400,22 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( pow24 - C_ARITHMETICCONTRACT_ID:Int + #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-129-TO-85]: - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 196 + ( #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" + ~> #pc [ STATICCALL ] => JUMPI 593 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) ~> #execute ~> _CONTINUATION:K @@ -3320,9 +3452,12 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): + + OUTPUT_CELL:Bytes + - NCL:Int + #address ( FoundryConsole ) CALLER_ID:Int @@ -3334,10 +3469,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) + ( ( 196 => 0 ) : ( ( 1997931255 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 0 => 332 ) : ( 0 : ( ( KV2_z:Int => 0 ) : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 2619793463 => 111 ) : ( .WordStack => ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes #buf ( 32 , ( KV0_x:Int => chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) ) +Bytes ( #buf ( 32 , KV1_y:Int ) => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ) 0 @@ -3346,10 +3481,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - EXPECTEDDEPTH_CELL:Int + CALLDEPTH_CELL:Int - C_ARITHMETICCONTRACT_ID:Int + #address ( FoundryConsole ) ... @@ -3383,7 +3518,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ( - C_ARITHMETICCONTRACT_ID:Int + #address ( FoundryConsole ) C_ARITHMETICCONTRACT_BAL:Int @@ -3406,22 +3541,19 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - NCL:Int + NEWCALLER_CELL:Account - - .Account - - true + ACTIVE_CELL:Bool - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -3454,15 +3586,33 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account + requires ( _C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -3472,25 +3622,21 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( pow24 - C_ARITHMETICCONTRACT_ID:Int + #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-130-TO-92]: - ( #next [ STATICCALL ] ~> .K => #injectPrank - ~> #next [ STATICCALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 32 196 + ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 + ~> #pc [ STATICCALL ] ) + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -3528,7 +3672,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - C_ARITHMETICCONTRACT_ID:Int + NCL:Int CALLER_ID:Int @@ -3540,7 +3684,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - ( 0 : ( C_ARITHMETICCONTRACT_ID:Int : ( 128 : ( 68 : ( 128 : ( 32 : ( 196 : ( 1997931255 : ( C_ARITHMETICCONTRACT_ID:Int : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) @@ -3552,7 +3696,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int C_ARITHMETICCONTRACT_ID:Int @@ -3566,7 +3710,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG1:Int @@ -3612,631 +3756,13 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int KV1_y:Int - andBool ( 0 <=Int KV2_z:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( pow24 - C_ARITHMETICCONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( CALLER_ID:Int <=Int 0 - orBool ( 10 .K =/=K C_ARITHMETICCONTRACT_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-76-TO-123)] - - rule [BASIC-BLOCK-138-TO-89]: - - - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - DEPTH_CELL:Int - - - C_ARITHMETICCONTRACT_ID:Int - - ... - - - - 0 - - ... - - - NOG1:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - - MIXHASH_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ARITHMETICCONTRACT_ID:Int - - - C_ARITHMETICCONTRACT_BAL:Int - - - C_ARITHMETICCONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG1:Int - - - true - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int - andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int KV1_y:Int - andBool ( 0 <=Int KV2_z:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( C_ARITHMETICCONTRACT_ID:Int =/=Int #address ( FoundryCheat ) - andBool ( ( notBool - C_ARITHMETICCONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( CALLER_ID:Int <=Int 0 - orBool ( 10 - - - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - DEPTH_CELL:Int - - - C_ARITHMETICCONTRACT_ID:Int - - ... - - - - 0 - - ... - - - NOG1:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - - MIXHASH_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ARITHMETICCONTRACT_ID:Int - - - C_ARITHMETICCONTRACT_BAL:Int - - - C_ARITHMETICCONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG1:Int - - - true - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int KV1_y:Int - andBool ( 0 <=Int KV2_z:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( pow24 - C_ARITHMETICCONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( CALLER_ID:Int <=Int 0 - orBool ( 10 - - - ( #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] => JUMPI 593 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - OUTPUT_CELL:Bytes - - - - #address ( FoundryConsole ) - - - CALLER_ID:Int - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( ( 196 => 0 ) : ( ( 1997931255 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 0 => 332 ) : ( 0 : ( ( KV2_z:Int => 0 ) : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 2619793463 => 111 ) : ( .WordStack => ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) - - - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes #buf ( 32 , ( KV0_x:Int => chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) ) +Bytes ( #buf ( 32 , KV1_y:Int ) => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ) - - - 0 - - - 0 - - - CALLDEPTH_CELL:Int - - - #address ( FoundryConsole ) - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - - MIXHASH_CELL:Int - - ... - - ... - - - - 1 - - - ( - - #address ( FoundryConsole ) - - - C_ARITHMETICCONTRACT_BAL:Int - - - C_ARITHMETICCONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account + NCL:Int + + NOG1:Int + - ACTIVE_CELL:Bool + true DEPTH_CELL:Int @@ -4278,10 +3804,37 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... - requires ( _C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) + requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int + andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -4291,44 +3844,50 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( pow24 #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + andBool ( C_ARITHMETICCONTRACT_ID:Int =/=Int #address ( FoundryCheat ) + andBool ( ( notBool + C_ARITHMETICCONTRACT_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-131-TO-93]: - ( #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] => JUMPI 593 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) + ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 + ~> #pc [ STATICCALL ] ) + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -4343,12 +3902,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - - OUTPUT_CELL:Bytes - - #address ( FoundryConsole ) + NCL:Int CALLER_ID:Int @@ -4360,10 +3916,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - ( ( 196 => 0 ) : ( ( 1997931255 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 0 => 332 ) : ( 0 : ( ( KV2_z:Int => 0 ) : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 2619793463 => 111 ) : ( .WordStack => ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) + ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes #buf ( 32 , ( KV0_x:Int => chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) ) +Bytes ( #buf ( 32 , KV1_y:Int ) => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) 0 @@ -4372,10 +3928,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - CALLDEPTH_CELL:Int + DEPTH_CELL:Int - #address ( FoundryConsole ) + C_ARITHMETICCONTRACT_ID:Int ... @@ -4386,7 +3942,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG1:Int @@ -4409,7 +3965,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ( - #address ( FoundryConsole ) + C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_BAL:Int @@ -4432,10 +3988,13 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - NEWCALLER_CELL:Account + NCL:Int + + NOG1:Int + - ACTIVE_CELL:Bool + true DEPTH_CELL:Int @@ -4477,10 +4036,36 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... - requires ( _C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) + requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -4490,21 +4075,27 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( pow24 - #address ( FoundryConsole ) + C_ARITHMETICCONTRACT_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-132-TO-106]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -4580,7 +4172,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG0:Int + NOG:Int @@ -4629,7 +4221,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG0:Int + NOG:Int true @@ -4674,12 +4266,35 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -4700,7 +4315,6 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( C_ARITHMETICCONTRACT_NONCE:Int + rule [BASIC-BLOCK-133-TO-107]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -4791,7 +4405,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG0:Int + NOG:Int @@ -4840,7 +4454,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG0:Int + NOG:Int true @@ -4885,12 +4499,35 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -4910,7 +4547,6 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( C_ARITHMETICCONTRACT_NONCE:Int + rule [BASIC-BLOCK-134-TO-102]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -4998,7 +4634,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG:Int + ORIGIN_ID:Int @@ -5047,7 +4683,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG:Int + .Account true @@ -5092,16 +4728,39 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -5144,9 +4803,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): orBool ( 10 + rule [BASIC-BLOCK-135-TO-103]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -5208,7 +4867,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG:Int + ORIGIN_ID:Int @@ -5257,7 +4916,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG:Int + .Account true @@ -5302,15 +4961,38 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -5350,9 +5032,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): orBool ( 10 + rule [BASIC-BLOCK-136-TO-109]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -5414,7 +5096,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG0:Int @@ -5463,7 +5145,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - .Account + NOG0:Int true @@ -5508,16 +5190,39 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -5534,6 +5239,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( C_ARITHMETICCONTRACT_NONCE:Int + rule [BASIC-BLOCK-137-TO-110]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -5624,7 +5330,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG0:Int @@ -5673,7 +5379,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - .Account + NOG0:Int true @@ -5718,15 +5424,38 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -5743,6 +5472,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( C_ARITHMETICCONTRACT_NONCE:Int + rule [BASIC-BLOCK-142-TO-89]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -5922,6 +5652,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -5974,9 +5727,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-152-TO-87)] + [priority(20), label(BASIC-BLOCK-142-TO-89)] - rule [BASIC-BLOCK-153-TO-88]: + rule [BASIC-BLOCK-143-TO-90]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -6130,6 +5883,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -6178,9 +5954,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-153-TO-88)] + [priority(20), label(BASIC-BLOCK-143-TO-90)] - rule [BASIC-BLOCK-154-TO-99]: + rule [BASIC-BLOCK-144-TO-99]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -6336,6 +6112,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -6388,9 +6187,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): orBool ( 10 + rule [BASIC-BLOCK-145-TO-100]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -6546,6 +6345,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -6594,9 +6416,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): orBool ( 10 + rule [BASIC-BLOCK-146-TO-104]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -6752,6 +6574,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -6804,9 +6649,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): orBool ( 10 + rule [BASIC-BLOCK-147-TO-105]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -6962,6 +6807,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -7010,9 +6878,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): orBool ( 10 + rule [BASIC-BLOCK-148-TO-77]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -7166,6 +7034,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -7217,9 +7108,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-158-TO-80)] + [priority(20), label(BASIC-BLOCK-148-TO-77)] - rule [BASIC-BLOCK-159-TO-81]: + rule [BASIC-BLOCK-149-TO-78]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -7373,6 +7264,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -7420,9 +7334,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-159-TO-81)] + [priority(20), label(BASIC-BLOCK-149-TO-78)] - rule [BASIC-BLOCK-160-TO-84]: + rule [BASIC-BLOCK-150-TO-86]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -7576,6 +7490,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -7627,9 +7564,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-160-TO-84)] + [priority(20), label(BASIC-BLOCK-150-TO-86)] - rule [BASIC-BLOCK-161-TO-85]: + rule [BASIC-BLOCK-151-TO-87]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -7783,6 +7720,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -7830,9 +7790,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-161-TO-85)] + [priority(20), label(BASIC-BLOCK-151-TO-87)] - rule [BASIC-BLOCK-126-TO-78]: + rule [BASIC-BLOCK-116-TO-72]: ( #next [ STATICCALL ] ~> .K => #refund 0 @@ -7989,6 +7949,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -8041,9 +8024,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-126-TO-78)] + [priority(20), label(BASIC-BLOCK-116-TO-72)] - rule [BASIC-BLOCK-128-TO-82]: + rule [BASIC-BLOCK-118-TO-82]: ( #next [ STATICCALL ] ~> .K => #refund 0 @@ -8200,6 +8183,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -8252,9 +8258,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-128-TO-82)] + [priority(20), label(BASIC-BLOCK-118-TO-82)] - rule [BASIC-BLOCK-148-TO-79]: + rule [BASIC-BLOCK-138-TO-73]: ( #next [ STATICCALL ] ~> .K => #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) @@ -8412,6 +8418,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -8464,9 +8493,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-148-TO-79)] + [priority(20), label(BASIC-BLOCK-138-TO-73)] - rule [BASIC-BLOCK-150-TO-83]: + rule [BASIC-BLOCK-140-TO-83]: ( #next [ STATICCALL ] ~> .K => #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) @@ -8624,6 +8653,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -8676,9 +8728,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-150-TO-83)] + [priority(20), label(BASIC-BLOCK-140-TO-83)] - rule [BASIC-BLOCK-130-TO-86]: + rule [BASIC-BLOCK-122-TO-88]: ( #next [ STATICCALL ] ~> .K => #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) @@ -8836,6 +8888,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -8889,9 +8964,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-130-TO-86)] + [priority(20), label(BASIC-BLOCK-122-TO-88)] - rule [BASIC-BLOCK-132-TO-96]: + rule [BASIC-BLOCK-120-TO-91]: ( #accessAccounts C_ARITHMETICCONTRACT_ID:Int @@ -9159,6 +9234,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -9206,9 +9304,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) ) ) andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_ARITHMETICCONTRACT_ID:Int ) ) ) ))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-132-TO-96)] + [priority(20), label(BASIC-BLOCK-120-TO-91)] - rule [BASIC-BLOCK-133-TO-97]: + rule [BASIC-BLOCK-121-TO-94]: ( #accessAccounts C_ARITHMETICCONTRACT_ID:Int @@ -9370,6 +9468,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -9417,9 +9538,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) ) ) andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_ARITHMETICCONTRACT_ID:Int ) ) ) ))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-133-TO-97)] + [priority(20), label(BASIC-BLOCK-121-TO-94)] - rule [BASIC-BLOCK-134-TO-98]: + rule [BASIC-BLOCK-124-TO-98]: ( #next [ STATICCALL ] ~> .K => #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) @@ -9579,6 +9700,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -9632,9 +9776,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) )))))))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-134-TO-98)] + [priority(20), label(BASIC-BLOCK-124-TO-98)] - rule [BASIC-BLOCK-136-TO-101]: + rule [BASIC-BLOCK-126-TO-101]: ( #next [ STATICCALL ] ~> .K => #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) @@ -9794,6 +9938,29 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -9847,6 +10014,6 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) )))))))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-136-TO-101)] + [priority(20), label(BASIC-BLOCK-126-TO-101)] endmodule \ No newline at end of file diff --git a/src/tests/integration/test-data/show/AssertTest.checkFail_assert_false().expected b/src/tests/integration/test-data/show/AssertTest.checkFail_assert_false().expected index 5361c2c05..561c2fc7a 100644 --- a/src/tests/integration/test-data/show/AssertTest.checkFail_assert_false().expected +++ b/src/tests/integration/test-data/show/AssertTest.checkFail_assert_false().expected @@ -273,6 +273,29 @@ module SUMMARY-TEST%ASSERTTEST.CHECKFAIL-ASSERT-FALSE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -494,6 +517,29 @@ module SUMMARY-TEST%ASSERTTEST.CHECKFAIL-ASSERT-FALSE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -714,6 +760,29 @@ module SUMMARY-TEST%ASSERTTEST.CHECKFAIL-ASSERT-FALSE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -937,6 +1006,29 @@ module SUMMARY-TEST%ASSERTTEST.CHECKFAIL-ASSERT-FALSE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1160,6 +1252,29 @@ module SUMMARY-TEST%ASSERTTEST.CHECKFAIL-ASSERT-FALSE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/AssertTest.testFail_assert_true().expected b/src/tests/integration/test-data/show/AssertTest.testFail_assert_true().expected index 1769e343e..acc50027d 100644 --- a/src/tests/integration/test-data/show/AssertTest.testFail_assert_true().expected +++ b/src/tests/integration/test-data/show/AssertTest.testFail_assert_true().expected @@ -273,6 +273,29 @@ Node 10: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -499,6 +522,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-ASSERT-TRUE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -720,6 +766,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-ASSERT-TRUE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -940,6 +1009,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-ASSERT-TRUE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1163,6 +1255,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-ASSERT-TRUE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1386,6 +1501,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-ASSERT-TRUE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/AssertTest.testFail_expect_revert().expected b/src/tests/integration/test-data/show/AssertTest.testFail_expect_revert().expected index 028f66f53..69114ac5b 100644 --- a/src/tests/integration/test-data/show/AssertTest.testFail_expect_revert().expected +++ b/src/tests/integration/test-data/show/AssertTest.testFail_expect_revert().expected @@ -364,6 +364,29 @@ Node 20: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -590,6 +613,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -811,6 +857,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1031,6 +1100,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1254,6 +1346,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1485,6 +1600,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1715,6 +1853,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -2045,6 +2206,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -2373,6 +2557,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -2702,6 +2909,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -3034,6 +3264,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -3366,6 +3619,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -3701,6 +3977,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -4036,6 +4335,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -4264,6 +4586,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -4492,6 +4837,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/AssertTest.test_assert_false().expected b/src/tests/integration/test-data/show/AssertTest.test_assert_false().expected index a5cd42ede..121084d44 100644 --- a/src/tests/integration/test-data/show/AssertTest.test_assert_false().expected +++ b/src/tests/integration/test-data/show/AssertTest.test_assert_false().expected @@ -270,6 +270,29 @@ Node 10: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -496,6 +519,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-FALSE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -717,6 +763,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-FALSE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -937,6 +1006,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-FALSE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1160,6 +1252,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-FALSE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1383,6 +1498,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-FALSE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/AssertTest.test_assert_true().expected b/src/tests/integration/test-data/show/AssertTest.test_assert_true().expected index 63977da97..2e2afb610 100644 --- a/src/tests/integration/test-data/show/AssertTest.test_assert_true().expected +++ b/src/tests/integration/test-data/show/AssertTest.test_assert_true().expected @@ -276,6 +276,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-TRUE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -497,6 +520,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-TRUE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -717,6 +763,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-TRUE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -940,6 +1009,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-TRUE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1163,6 +1255,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-TRUE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/AssertTest.test_failing_branch(uint256).expected b/src/tests/integration/test-data/show/AssertTest.test_failing_branch(uint256).expected index 12abe524c..5de883cd0 100644 --- a/src/tests/integration/test-data/show/AssertTest.test_failing_branch(uint256).expected +++ b/src/tests/integration/test-data/show/AssertTest.test_failing_branch(uint256).expected @@ -57,7 +57,7 @@ ┃ │ method: test%AssertTest.test_failing_branch(uint256) ┃ │ ┃ │ (1 step) -┃ ├─ 13 +┃ ├─ 12 ┃ │ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 328 ┃ │ callDepth: 0 @@ -66,7 +66,7 @@ ┃ │ method: test%AssertTest.test_failing_branch(uint256) ┃ │ ┃ │ (2 steps) -┃ ├─ 15 (terminal) +┃ ├─ 14 (terminal) ┃ │ k: #halt ~> CONTINUATION:K ┃ │ pc: 328 ┃ │ callDepth: 0 @@ -95,7 +95,7 @@ │ method: test%AssertTest.test_failing_branch(uint256) │ │ (63 steps) - ├─ 12 + ├─ 13 │ k: #end EVMC_REVERT ~> #pc [ REVERT ] ~> #execute ~> CONTINUATION:K │ pc: 2995 │ callDepth: 0 @@ -103,7 +103,7 @@ │ method: test%AssertTest.test_failing_branch(uint256) │ │ (1 step) - ├─ 14 + ├─ 15 │ k: #halt ~> #pc [ REVERT ] ~> #execute ~> CONTINUATION:K │ pc: 2995 │ callDepth: 0 @@ -333,6 +333,29 @@ Node 16: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -562,6 +585,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -783,6 +829,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1006,6 +1075,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -1229,6 +1321,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -1243,12 +1358,11 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 ))))))))) [priority(20), label(BASIC-BLOCK-9-TO-11)] - rule [BASIC-BLOCK-10-TO-12]: + rule [BASIC-BLOCK-11-TO-12]: - ( JUMPI 1124 bool2Word ( 100 <=Int KV0_x:Int ) - ~> #pc [ JUMPI ] => #end EVMC_REVERT - ~> #pc [ REVERT ] ) + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ STOP ] ~> #execute ~> _CONTINUATION:K @@ -1264,8 +1378,11 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 - ( b"" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" ) + b"" + + ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) + .List @@ -1289,10 +1406,10 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 0 - ( ( KV0_x:Int => 1124 ) : ( ( 327 => KV0_x:Int ) : ( ( 1176678741 => 327 ) : ( .WordStack => ( 1176678741 : .WordStack ) ) ) ) ) + ( 1176678741 : .WordStack ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" 0 @@ -1453,10 +1570,33 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int - andBool ( KV0_x:Int + rule [BASIC-BLOCK-10-TO-13]: - ( #end EVMC_SUCCESS => #halt ) - ~> #pc [ STOP ] + ( JUMPI 1124 bool2Word ( 100 <=Int KV0_x:Int ) + ~> #pc [ JUMPI ] => #end EVMC_REVERT + ~> #pc [ REVERT ] ) ~> #execute ~> _CONTINUATION:K @@ -1487,11 +1628,8 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 - b"" + ( b"" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" ) - - ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) - .List @@ -1515,10 +1653,10 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 0 - ( 1176678741 : .WordStack ) + ( ( KV0_x:Int => 1124 ) : ( ( 327 => KV0_x:Int ) : ( ( 1176678741 => 327 ) : ( .WordStack => ( 1176678741 : .WordStack ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" => b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" ) 0 @@ -1679,10 +1817,33 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int - andBool ( 100 <=Int KV0_x:Int + andBool ( KV0_x:Int - ( #end EVMC_REVERT => #halt ) - ~> #pc [ REVERT ] - ~> #execute + #halt + ~> ( #pc [ STOP ] + ~> #execute => .K ) ~> _CONTINUATION:K @@ -1713,10 +1874,10 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 - b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" + b"" - ( _STATUSCODE:StatusCode => EVMC_REVERT ) + EVMC_SUCCESS .List @@ -1741,10 +1902,10 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 0 - ( 1124 : ( KV0_x:Int : ( 327 : ( 1176678741 : .WordStack ) ) ) ) + ( 1176678741 : .WordStack ) - b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" 0 @@ -1905,10 +2066,33 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int - andBool ( KV0_x:Int - #halt - ~> ( #pc [ STOP ] - ~> #execute => .K ) + ( #end EVMC_REVERT => #halt ) + ~> #pc [ REVERT ] + ~> #execute ~> _CONTINUATION:K @@ -1939,10 +2123,10 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 - b"" + b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" - EVMC_SUCCESS + ( _STATUSCODE:StatusCode => EVMC_REVERT ) .List @@ -1967,10 +2151,10 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 0 - ( 1176678741 : .WordStack ) + ( 1124 : ( KV0_x:Int : ( 327 : ( 1176678741 : .WordStack ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" + b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" 0 @@ -2131,10 +2315,33 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int - andBool ( 100 <=Int KV0_x:Int + andBool ( KV0_x:Int + rule [BASIC-BLOCK-15-TO-16]: #halt @@ -2357,6 +2564,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -2369,7 +2599,7 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 andBool ( KV0_x:Int .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -562,6 +585,29 @@ Node 15: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -793,6 +839,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1014,6 +1083,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1239,6 +1331,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -1464,6 +1579,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -1690,6 +1828,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -1918,6 +2079,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -2146,6 +2330,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -2374,6 +2581,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -2602,6 +2832,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int diff --git a/src/tests/integration/test-data/show/AssumeTest.testFail_assume_false(uint256,uint256).expected b/src/tests/integration/test-data/show/AssumeTest.testFail_assume_false(uint256,uint256).expected index 9b2a47b81..c5fa016c4 100644 --- a/src/tests/integration/test-data/show/AssumeTest.testFail_assume_false(uint256,uint256).expected +++ b/src/tests/integration/test-data/show/AssumeTest.testFail_assume_false(uint256,uint256).expected @@ -271,6 +271,29 @@ Node 7: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -499,6 +522,29 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-FALSE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -726,6 +772,29 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-FALSE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -954,6 +1023,29 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-FALSE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -1182,6 +1274,29 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-FALSE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( _KV0_a:Int ==Int KV1_b:Int @@ -1408,6 +1523,29 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-FALSE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( _KV0_a:Int ==Int KV1_b:Int diff --git a/src/tests/integration/test-data/show/AssumeTest.testFail_assume_true(uint256,uint256).expected b/src/tests/integration/test-data/show/AssumeTest.testFail_assume_true(uint256,uint256).expected index f7f02be35..bdb0f2fce 100644 --- a/src/tests/integration/test-data/show/AssumeTest.testFail_assume_true(uint256,uint256).expected +++ b/src/tests/integration/test-data/show/AssumeTest.testFail_assume_true(uint256,uint256).expected @@ -297,6 +297,29 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-TRUE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -524,6 +547,29 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-TRUE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -751,6 +797,29 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-TRUE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -976,6 +1045,29 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-TRUE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -1204,6 +1296,29 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-TRUE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -1433,6 +1548,29 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-TRUE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -1661,6 +1799,29 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-TRUE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -1889,6 +2050,29 @@ module SUMMARY-TEST%ASSUMETEST.TESTFAIL-ASSUME-TRUE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int diff --git a/src/tests/integration/test-data/show/AssumeTest.test_assume_false(uint256,uint256).expected b/src/tests/integration/test-data/show/AssumeTest.test_assume_false(uint256,uint256).expected index 48a98cab4..299e84b6c 100644 --- a/src/tests/integration/test-data/show/AssumeTest.test_assume_false(uint256,uint256).expected +++ b/src/tests/integration/test-data/show/AssumeTest.test_assume_false(uint256,uint256).expected @@ -295,6 +295,29 @@ Node 10: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -525,6 +548,29 @@ module SUMMARY-TEST%ASSUMETEST.TEST-ASSUME-FALSE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -752,6 +798,29 @@ module SUMMARY-TEST%ASSUMETEST.TEST-ASSUME-FALSE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -979,6 +1048,29 @@ module SUMMARY-TEST%ASSUMETEST.TEST-ASSUME-FALSE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -1204,6 +1296,29 @@ module SUMMARY-TEST%ASSUMETEST.TEST-ASSUME-FALSE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -1432,6 +1547,29 @@ module SUMMARY-TEST%ASSUMETEST.TEST-ASSUME-FALSE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -1661,6 +1799,29 @@ module SUMMARY-TEST%ASSUMETEST.TEST-ASSUME-FALSE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -1889,6 +2050,29 @@ module SUMMARY-TEST%ASSUMETEST.TEST-ASSUME-FALSE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int @@ -2117,6 +2301,29 @@ module SUMMARY-TEST%ASSUMETEST.TEST-ASSUME-FALSE(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_a:Int diff --git a/src/tests/integration/test-data/show/BMCBoundTest.testBound().expected b/src/tests/integration/test-data/show/BMCBoundTest.testBound().expected index 5b31e51c3..fbc11634a 100644 --- a/src/tests/integration/test-data/show/BMCBoundTest.testBound().expected +++ b/src/tests/integration/test-data/show/BMCBoundTest.testBound().expected @@ -443,6 +443,29 @@ module SUMMARY-TEST%BMCBOUNDTEST.TESTBOUND():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -669,6 +692,29 @@ module SUMMARY-TEST%BMCBOUNDTEST.TESTBOUND():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int ?WORD:Int @@ -895,6 +941,29 @@ module SUMMARY-TEST%BMCBOUNDTEST.TESTBOUND():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int ?WORD:Int @@ -2027,6 +2188,29 @@ module SUMMARY-TEST%BMCBOUNDTEST.TESTBOUND():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 1 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 1 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int ?WORD:Int @@ -2927,6 +3180,29 @@ module SUMMARY-TEST%BMCBOUNDTEST.TESTBOUND():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 1 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 1 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -646,6 +669,29 @@ module SUMMARY-TEST%CSETEST.TEST-ADD-CONST(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -962,6 +1008,29 @@ module SUMMARY-TEST%CSETEST.TEST-ADD-CONST(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/CSETest.test_identity(uint256,uint256).cse.expected b/src/tests/integration/test-data/show/CSETest.test_identity(uint256,uint256).cse.expected index cbf562ff3..45fe6805e 100644 --- a/src/tests/integration/test-data/show/CSETest.test_identity(uint256,uint256).cse.expected +++ b/src/tests/integration/test-data/show/CSETest.test_identity(uint256,uint256).cse.expected @@ -347,6 +347,29 @@ module SUMMARY-TEST%CSETEST.TEST-IDENTITY(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -642,6 +665,29 @@ module SUMMARY-TEST%CSETEST.TEST-IDENTITY(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -956,6 +1002,29 @@ module SUMMARY-TEST%CSETEST.TEST-IDENTITY(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/CallableStorageContract.str().cse.expected b/src/tests/integration/test-data/show/CallableStorageContract.str().cse.expected index 2373a64ce..251378039 100644 --- a/src/tests/integration/test-data/show/CallableStorageContract.str().cse.expected +++ b/src/tests/integration/test-data/show/CallableStorageContract.str().cse.expected @@ -214,6 +214,29 @@ module SUMMARY-TEST%CALLABLESTORAGECONTRACT.STR():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -390,6 +413,29 @@ module SUMMARY-TEST%CALLABLESTORAGECONTRACT.STR():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... diff --git a/src/tests/integration/test-data/show/CallableStorageTest.test_str().cse.expected b/src/tests/integration/test-data/show/CallableStorageTest.test_str().cse.expected index 3435ba8da..9429c8e40 100644 --- a/src/tests/integration/test-data/show/CallableStorageTest.test_str().cse.expected +++ b/src/tests/integration/test-data/show/CallableStorageTest.test_str().cse.expected @@ -281,6 +281,29 @@ module SUMMARY-TEST%CALLABLESTORAGETEST.TEST-STR():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/ConstructorTest.init.cse.expected b/src/tests/integration/test-data/show/ConstructorTest.init.cse.expected index 9eae89b5b..e2a863386 100644 --- a/src/tests/integration/test-data/show/ConstructorTest.init.cse.expected +++ b/src/tests/integration/test-data/show/ConstructorTest.init.cse.expected @@ -6,7 +6,24 @@ │ statusCode: STATUSCODE:StatusCode │ src: test/nested/SimpleNested.t.sol:7:11 │ -│ (1161 steps) +│ (338 steps) +├─ 3 +│ k: #halt ~> #codeDeposit 491460923342184218035706888008750043977755113263 ~> #pc [ ... +│ pc: 21 +│ callDepth: 1 +│ statusCode: EVMC_SUCCESS +│ src: test/nested/SimpleNested.t.sol:7:11 +│ +│ (709 steps) +├─ 4 +│ k: #halt ~> #return 128 0 ~> #pc [ CALL ] ~> #execute ~> CONTINUATION:K +│ pc: 107 +│ callDepth: 1 +│ statusCode: EVMC_SUCCESS +│ src: test/nested/SimpleNested.t.sol:7:11 +│ method: test%ImportedContract.set(uint256) +│ +│ (114 steps) ├─ 5 (terminal) │ k: #halt ~> CONTINUATION:K │ pc: 253 @@ -28,10 +45,13 @@ module SUMMARY-TEST%CONSTRUCTORTEST.INIT:0 - rule [BASIC-BLOCK-1-TO-5]: + rule [BASIC-BLOCK-1-TO-3]: - ( #execute => #halt ) + ( .K => #halt + ~> #codeDeposit 491460923342184218035706888008750043977755113263 + ~> #pc [ CREATE ] ) + ~> #execute ~> _CONTINUATION:K @@ -46,29 +66,128 @@ module SUMMARY-TEST%CONSTRUCTORTEST.INIT:0 - ( b"" => b"`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x00\xeaW`\x005`\xe0\x1c\x80c\x92\xdfO\xbd\x11a\x00\x8cW\x80c\xe0\x18\x0b\x0b\x11a\x00fW\x80c\xe0\x18\x0b\x0b\x14a\x01\x81W\x80c\xe2\f\x9fq\x14a\x01\x89W\x80c\xe9\x9bk1\x14a\x01\x81W\x80c\xfav&\xd4\x14a\x01\x91W`\x00\x80\xfd[\x80c\x92\xdfO\xbd\x14a\x01YW\x80c\xb5P\x8a\xa9\x14a\x01aW\x80c\xbaAO\xa6\x14a\x01iW`\x00\x80\xfd[\x80c?r\x86\xf4\x11a\x00\xc8W\x80c?r\x86\xf4\x14a\x01\x1fW\x80cf\xd9\xa9\xa0\x14a\x01'W\x80c\x85\"l\x81\x14a\x01^<#\x14a\x01\x17W[`\x00\x80\xfd[a\x00\xf7a\x01\x9eV[`@Qa\x01\x04\x91\x90a\fvV[`@Q\x80\x91\x03\x90\xf3[a\x01\x15a\x02\x00V[\x00[a\x00\xf7a\x04IV[a\x00\xf7a\x04\xa9V[a\x01/a\x05\tV[`@Qa\x01\x04\x91\x90a\f\xc3V[a\x01Da\x05\xf8V[`@Qa\x01\x04\x91\x90a\r\xa6V[a\x01/a\x06\xc8V[a\x01\x15a\x07\xaeV[a\x01Da\x07\xc3V[a\x01qa\x08\x93V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[a\x01\x15a\t\xc0V[a\x00\xf7a\t\xd2V[`\x07Ta\x01q\x90`\xff\x16\x81V[```\x14\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90[\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8W[PPPPP\x90P\x90V[`\x1bT`\xff\x16a\x02\x12Wa\x02\x12a\x0e V[`\x00`@Qa\x02 \x90a\fiV[`@Q\x80\x91\x03\x90`\x00\xf0\x80\x15\x80\x15a\x02=`\x00\xfd[P`@Qc`\xfeG\xb1`\xe0\x1b\x81Ra\x158`\x04\x82\x01R\x90\x91P`\x01`\x01`\xa0\x1b\x03\x82\x16\x90c`\xfeG\xb1\x90`$\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x02\x83W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x02\x97W=`\x00\x80>=`\x00\xfd[PP`\x1bT`@Qc\x08\x01\xf1i`\xe1\x1b\x81R`\x03`\x04\x82\x01Ra\x01\x00\x90\x91\x04`\x01`\x01`\xa0\x1b\x03\x16\x92Pc\x10\x03\xe2\xd2\x91P`$\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x02\xe5W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x02\xf9W=`\x00\x80>=`\x00\xfd[PPPPa\x03\x7f`\x1b`\x01\x90T\x90a\x01\x00\n\x90\x04`\x01`\x01`\xa0\x1b\x03\x16`\x01`\x01`\xa0\x1b\x03\x16c\x06f\x1a\xbd`@Q\x81c\xff\xff\xff\xff\x16`\xe0\x1b\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xfa\x15\x80\x15a\x03SW=`\x00\x80>=`\x00\xfd[PPPP`@Q=`\x1f\x19`\x1f\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03w\x91\x90a\x0e6V[a\x10\xe4a\n2V[`@Qc\x08\x01\xf1i`\xe1\x1b\x81R`\x05`\x04\x82\x01R`\x01`\x01`\xa0\x1b\x03\x82\x16\x90c\x10\x03\xe2\xd2\x90`$\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x03\xc1W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x03\xd5W=`\x00\x80>=`\x00\xfd[PPPPa\x04F\x81`\x01`\x01`\xa0\x1b\x03\x16c\x06f\x1a\xbd`@Q\x81c\xff\xff\xff\xff\x16`\xe0\x1b\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xfa\x15\x80\x15a\x04\x1aW=`\x00\x80>=`\x00\xfd[PPPP`@Q=`\x1f\x19`\x1f\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04>\x91\x90a\x0e6V[a\x15=a\n2V[PV[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8WPPPPP\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8WPPPPP\x90P\x90V[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW`\x00\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80T`\x01`\x01`\xa0\x1b\x03\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x05\xd7W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90`\x00\x90[\x82\x82\x90T\x90a\x01\x00\n\x90\x04`\xe0\x1b`\x01`\x01`\xe0\x1b\x03\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x05\x99W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x05-V[PPPP\x90P\x90V[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW\x83\x82\x90`\x00R` `\x00 \x01\x80Ta\x06;\x90a\x0eOV[\x80`\x1f\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06g\x90a\x0eOV[\x80\x15a\x06\xb4W\x80`\x1f\x10a\x06\x89Wa\x01\x00\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xb4V[\x82\x01\x91\x90`\x00R` `\x00 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x97W\x82\x90\x03`\x1f\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x06\x1cV[```\x1a\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW`\x00\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80T`\x01`\x01`\xa0\x1b\x03\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x07\x96W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90`\x00\x90[\x82\x82\x90T\x90a\x01\x00\n\x90\x04`\xe0\x1b`\x01`\x01`\xe0\x1b\x03\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x07XW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x06\xecV[`\x1bT`\xff\x16\x15a\x07\xc1Wa\x07\xc1a\x0e V[V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW\x83\x82\x90`\x00R` `\x00 \x01\x80Ta\x08\x06\x90a\x0eOV[\x80`\x1f\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x082\x90a\x0eOV[\x80\x15a\x08\x7fW\x80`\x1f\x10a\x08TWa\x01\x00\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x08\x7fV[\x82\x01\x91\x90`\x00R` `\x00 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x08bW\x82\x90\x03`\x1f\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x07\xe7V[`\x07T`\x00\x90a\x01\x00\x90\x04`\xff\x16\x15a\x08\xb5WP`\x07Ta\x01\x00\x90\x04`\xff\x16\x90V[`\x00sq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-;\x15a\t\xbbW`@\x80Qsq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-` \x82\x01\x81\x90Re\x19\x98Z[\x19Y`\xd2\x1b\x82\x84\x01R\x82Q\x80\x83\x03\x84\x01\x81R``\x83\x01\x90\x93R`\x00\x92\x90\x91a\tC\x91\x7ff\x7f\x9dp\xcaA\x1dp\xea\xd5\r\x8d\\\"\x07\r\xaf\xc3j\xd7_=\xcf^r7\xb2*\xde\x9a\xec\xc4\x91`\x80\x01a\x0e\x89V[`@\x80Q`\x1f\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\t]\x91a\x0e\xbaV[`\x00`@Q\x80\x83\x03\x81`\x00\x86Z\xf1\x91PP=\x80`\x00\x81\x14a\t\x9aW`@Q\x91P`\x1f\x19`?=\x01\x16\x82\x01`@R=\x82R=`\x00` \x84\x01>a\t\x9fV[``\x91P[P\x91PP\x80\x80` \x01\x90Q\x81\x01\x90a\t\xb7\x91\x90a\x0e\xd6V[\x91PP[\x91\x90PV[`\x1bT`\xff\x16a\x07\xc1Wa\x07\xc1a\x0e V[```\x13\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8WPPPPP\x90P\x90V[\x80\x82\x14a\x0bYW\x7fA0O\xac\xd92=u\xb1\x1b\xcd\xd6\t\xcb8\xef\xff\xfd\xb0W\x10\xf7\xca\xf0\xe9\xb1lm\x9dp\x9fP`@Qa\n\xa3\x90` \x80\x82R`\"\x90\x82\x01R\x7fError: a == b not satisfied [uin`@\x82\x01Rat]`\xf0\x1b``\x82\x01R`\x80\x01\x90V[`@Q\x80\x91\x03\x90\xa1`@\x80Q\x81\x81R`\n\x81\x83\x01Ri\x08\x08\x08\x08\x08\x08\x13\x19Y\x9d`\xb2\x1b``\x82\x01R` \x81\x01\x84\x90R\x90Q\x7f\xb2\xde/\xbe\x80\x1a\r\xf6\xc0\xcb\xdd\xfdD\x8b\xa3\xc4\x1dH\xa0@\xca5\xc5l\x81\x96\xef\x0f\xca\xe7!\xa8\x91\x81\x90\x03`\x80\x01\x90\xa1`@\x80Q\x81\x81R`\n\x81\x83\x01Ri\x08\x08\x08\x08\x08\x14\x9aY\xda\x1d`\xb2\x1b``\x82\x01R` \x81\x01\x83\x90R\x90Q\x7f\xb2\xde/\xbe\x80\x1a\r\xf6\xc0\xcb\xdd\xfdD\x8b\xa3\xc4\x1dH\xa0@\xca5\xc5l\x81\x96\xef\x0f\xca\xe7!\xa8\x91\x81\x90\x03`\x80\x01\x90\xa1a\x0bYa\x0b]V[PPV[sq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-;\x15a\fXW`@\x80Qsq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-` \x82\x01\x81\x90Re\x19\x98Z[\x19Y`\xd2\x1b\x92\x82\x01\x92\x90\x92R`\x01``\x82\x01R`\x00\x91\x90\x7fp\xca\x10\xbb\xd0\xdb\xfd\x90 \xa9\xf4\xb14\x02\xc1l\xb1 p^\r\x1c\n\xea\xb1\x0f\xa3S\xaeXo\xc4\x90`\x80\x01`@\x80Q`\x1f\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x0b\xf7\x92\x91` \x01a\x0e\x89V[`@\x80Q`\x1f\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\f\x11\x91a\x0e\xbaV[`\x00`@Q\x80\x83\x03\x81`\x00\x86Z\xf1\x91PP=\x80`\x00\x81\x14a\fNW`@Q\x91P`\x1f\x19`?=\x01\x16\x82\x01`@R=\x82R=`\x00` \x84\x01>a\fSV[``\x91P[PPPP[`\x07\x80Ta\xff\x00\x19\x16a\x01\x00\x17\x90UV[a\x01\f\x80a\x0f\x00\x839\x01\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\x00\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\f\xb7W\x83Q`\x01`\x01`\xa0\x1b\x03\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\f\x92V[P\x90\x96\x95PPPPPPV[`\x00` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P\x82\x86\x01\x91P\x82\x81`\x05\x1b\x87\x01\x01\x84\x88\x01`\x00\x80[\x84\x81\x10\x15a\rgW\x89\x84\x03`?\x19\x01\x86R\x82Q\x80Q`\x01`\x01`\xa0\x1b\x03\x16\x85R\x88\x01Q\x88\x85\x01\x88\x90R\x80Q\x88\x86\x01\x81\x90R\x90\x89\x01\x90\x83\x90``\x87\x01\x90[\x80\x83\x10\x15a\rRW\x83Q`\x01`\x01`\xe0\x1b\x03\x19\x16\x82R\x92\x8b\x01\x92`\x01\x92\x90\x92\x01\x91\x90\x8b\x01\x90a\r(V[P\x97\x8a\x01\x97\x95PPP\x91\x87\x01\x91`\x01\x01a\f\xebV[P\x91\x99\x98PPPPPPPPPV[`\x00[\x83\x81\x10\x15a\r\x91W\x81\x81\x01Q\x83\x82\x01R` \x01a\ryV[\x83\x81\x11\x15a\r\xa0W`\x00\x84\x84\x01R[PPPPV[`\x00` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1b\x87\x01\x01\x92P\x83\x87\x01`\x00[\x82\x81\x10\x15a\x0e\x13W\x87\x85\x03`?\x19\x01\x84R\x81Q\x80Q\x80\x87Ra\r\xf4\x81\x89\x89\x01\x8a\x85\x01a\rvV[`\x1f\x01`\x1f\x19\x16\x95\x90\x95\x01\x86\x01\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\r\xcdV[P\x92\x97\x96PPPPPPPV[cNH{q`\xe0\x1b`\x00R`\x01`\x04R`$`\x00\xfd[`\x00` \x82\x84\x03\x12\x15a\x0eHW`\x00\x80\xfd[PQ\x91\x90PV[`\x01\x81\x81\x1c\x90\x82\x16\x80a\x0ecW`\x7f\x82\x16\x91P[` \x82\x10\x81\x03a\x0e\x83WcNH{q`\xe0\x1b`\x00R`\"`\x04R`$`\x00\xfd[P\x91\x90PV[`\x01`\x01`\xe0\x1b\x03\x19\x83\x16\x81R\x81Q`\x00\x90a\x0e\xac\x81`\x04\x85\x01` \x87\x01a\rvV[\x91\x90\x91\x01`\x04\x01\x93\x92PPPV[`\x00\x82Qa\x0e\xcc\x81\x84` \x87\x01a\rvV[\x91\x90\x91\x01\x92\x91PPV[`\x00` \x82\x84\x03\x12\x15a\x0e\xe8W`\x00\x80\xfd[\x81Q\x80\x15\x15\x81\x14a\x0e\xf8W`\x00\x80\xfd[\x93\x92PPPV\xfe`\x80`@R`\x05`\x00U`\xf5\x80a\x00\x17`\x009`\x00\xf3\xfe`\x80`@R`\x046\x10`0W`\x005`\xe0\x1c\x80c\x06f\x1a\xbd\x14`5W\x80c\x10\x03\xe2\xd2\x14`[W\x80c`\xfeG\xb1\x14`lW[`\x00\x80\xfd[4\x80\x15`@W`\x00\x80\xfd[P`I`\x00T\x81V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xf3[`j`f6`\x04`\xabV[`\x87V[\x00[4\x80\x15`wW`\x00\x80\xfd[P`j`\x836`\x04`\xabV[`\x99V[\x80`\x00T`\x93\x91\x90`\xc3V[`\x00UPV[`\x03`\x00T\x10\x15`\xa6WPV[`\x00UV[`\x00` \x82\x84\x03\x12\x15`\xbcW`\x00\x80\xfd[P5\x91\x90PV[`\x00\x82\x19\x82\x11\x15`\xe3WcNH{q`\xe0\x1b`\x00R`\x11`\x04R`$`\x00\xfd[P\x01\x90V\xfe\xa1dsolcC\x00\x08\r\x00\n\xa1dsolcC\x00\x08\r\x00\n" ) + ( b"" => b"`\x80`@R`\x046\x10`0W`\x005`\xe0\x1c\x80c\x06f\x1a\xbd\x14`5W\x80c\x10\x03\xe2\xd2\x14`[W\x80c`\xfeG\xb1\x14`lW[`\x00\x80\xfd[4\x80\x15`@W`\x00\x80\xfd[P`I`\x00T\x81V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xf3[`j`f6`\x04`\xabV[`\x87V[\x00[4\x80\x15`wW`\x00\x80\xfd[P`j`\x836`\x04`\xabV[`\x99V[\x80`\x00T`\x93\x91\x90`\xc3V[`\x00UPV[`\x03`\x00T\x10\x15`\xa6WPV[`\x00UV[`\x00` \x82\x84\x03\x12\x15`\xbcW`\x00\x80\xfd[P5\x91\x90PV[`\x00\x82\x19\x82\x11\x15`\xe3WcNH{q`\xe0\x1b`\x00R`\x11`\x04R`$`\x00\xfd[P\x01\x90V\xfe\xa1dsolcC\x00\x08\r\x00\n" ) ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) - .List + ( .List => ListItem ( + + #address ( FoundryTest ) + + + 137122462167341575662000267002353578582749290296 + + + CALLDATA_CELL:Bytes + + + 0 + + + .WordStack + + + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x80`@R`\x05`\x00U`\xf5\x80a\x00\x17`\x009`\x00\xf3\xfe`\x80`@R`\x046\x10`0W`\x005`\xe0\x1c\x80c\x06f\x1a\xbd\x14`5W\x80c\x10\x03\xe2\xd2\x14`[W\x80c`\xfeG\xb1\x14`lW[`\x00\x80\xfd[4\x80\x15`@W`\x00\x80\xfd[P`I`\x00T\x81V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xf3[`j`f6`\x04`\xabV[`\x87V[\x00[4\x80\x15`wW`\x00\x80\xfd[P`j`\x836`\x04`\xabV[`\x99V[\x80`\x00T`\x93\x91\x90`\xc3V[`\x00UPV[`\x03`\x00T\x10\x15`\xa6WPV[`\x00UV[`\x00` \x82\x84\x03\x12\x15`\xbcW`\x00\x80\xfd[P5\x91\x90PV[`\x00\x82\x19\x82\x11\x15`\xe3WcNH{q`\xe0\x1b`\x00R`\x11`\x04R`$`\x00\xfd[P\x01\x90V\xfe\xa1dsolcC\x00\x08\r\x00\n" + + + 0 + + + 0 + + + false + + + 0 + + + #address ( FoundryTest ) + + ... + ) ) - .List + ( .List => ListItem ( { + ( + + #address ( FoundryCheat ) + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + #address ( FoundryTest ) + + + maxUInt96 + + + ( ( 11 |-> 1 ) + ( ( 27 |-> 1 ) + ( 7 |-> 1 ) ) ) + + + .Map + + + .Map + + + 2 + + ... + ) + | + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + SetItem ( 491460923342184218035706888008750043977755113263 ) + + + .Map + + + .Set + + } ) ) ( .Set => ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) - #address ( FoundryTest ) + ( #address ( FoundryTest ) => 491460923342184218035706888008750043977755113263 ) - 137122462167341575662000267002353578582749290296 + ( 137122462167341575662000267002353578582749290296 => #address ( FoundryTest ) ) - CALLDATA_CELL:Bytes + ( CALLDATA_CELL:Bytes => b"" ) 0 @@ -77,7 +196,7 @@ module SUMMARY-TEST%CONSTRUCTORTEST.INIT:0 .WordStack - ( b"" => b"`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x00\xeaW`\x005`\xe0\x1c\x80c\x92\xdfO\xbd\x11a\x00\x8cW\x80c\xe0\x18\x0b\x0b\x11a\x00fW\x80c\xe0\x18\x0b\x0b\x14a\x01\x81W\x80c\xe2\f\x9fq\x14a\x01\x89W\x80c\xe9\x9bk1\x14a\x01\x81W\x80c\xfav&\xd4\x14a\x01\x91W`\x00\x80\xfd[\x80c\x92\xdfO\xbd\x14a\x01YW\x80c\xb5P\x8a\xa9\x14a\x01aW\x80c\xbaAO\xa6\x14a\x01iW`\x00\x80\xfd[\x80c?r\x86\xf4\x11a\x00\xc8W\x80c?r\x86\xf4\x14a\x01\x1fW\x80cf\xd9\xa9\xa0\x14a\x01'W\x80c\x85\"l\x81\x14a\x01^<#\x14a\x01\x17W[`\x00\x80\xfd[a\x00\xf7a\x01\x9eV[`@Qa\x01\x04\x91\x90a\fvV[`@Q\x80\x91\x03\x90\xf3[a\x01\x15a\x02\x00V[\x00[a\x00\xf7a\x04IV[a\x00\xf7a\x04\xa9V[a\x01/a\x05\tV[`@Qa\x01\x04\x91\x90a\f\xc3V[a\x01Da\x05\xf8V[`@Qa\x01\x04\x91\x90a\r\xa6V[a\x01/a\x06\xc8V[a\x01\x15a\x07\xaeV[a\x01Da\x07\xc3V[a\x01qa\x08\x93V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[a\x01\x15a\t\xc0V[a\x00\xf7a\t\xd2V[`\x07Ta\x01q\x90`\xff\x16\x81V[```\x14\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90[\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8W[PPPPP\x90P\x90V[`\x1bT`\xff\x16a\x02\x12Wa\x02\x12a\x0e V[`\x00`@Qa\x02 \x90a\fiV[`@Q\x80\x91\x03\x90`\x00\xf0\x80\x15\x80\x15a\x02=`\x00\xfd[P`@Qc`\xfeG\xb1`\xe0\x1b\x81Ra\x158`\x04\x82\x01R\x90\x91P`\x01`\x01`\xa0\x1b\x03\x82\x16\x90c`\xfeG\xb1\x90`$\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x02\x83W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x02\x97W=`\x00\x80>=`\x00\xfd[PP`\x1bT`@Qc\x08\x01\xf1i`\xe1\x1b\x81R`\x03`\x04\x82\x01Ra\x01\x00\x90\x91\x04`\x01`\x01`\xa0\x1b\x03\x16\x92Pc\x10\x03\xe2\xd2\x91P`$\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x02\xe5W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x02\xf9W=`\x00\x80>=`\x00\xfd[PPPPa\x03\x7f`\x1b`\x01\x90T\x90a\x01\x00\n\x90\x04`\x01`\x01`\xa0\x1b\x03\x16`\x01`\x01`\xa0\x1b\x03\x16c\x06f\x1a\xbd`@Q\x81c\xff\xff\xff\xff\x16`\xe0\x1b\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xfa\x15\x80\x15a\x03SW=`\x00\x80>=`\x00\xfd[PPPP`@Q=`\x1f\x19`\x1f\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03w\x91\x90a\x0e6V[a\x10\xe4a\n2V[`@Qc\x08\x01\xf1i`\xe1\x1b\x81R`\x05`\x04\x82\x01R`\x01`\x01`\xa0\x1b\x03\x82\x16\x90c\x10\x03\xe2\xd2\x90`$\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x03\xc1W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x03\xd5W=`\x00\x80>=`\x00\xfd[PPPPa\x04F\x81`\x01`\x01`\xa0\x1b\x03\x16c\x06f\x1a\xbd`@Q\x81c\xff\xff\xff\xff\x16`\xe0\x1b\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xfa\x15\x80\x15a\x04\x1aW=`\x00\x80>=`\x00\xfd[PPPP`@Q=`\x1f\x19`\x1f\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04>\x91\x90a\x0e6V[a\x15=a\n2V[PV[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8WPPPPP\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8WPPPPP\x90P\x90V[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW`\x00\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80T`\x01`\x01`\xa0\x1b\x03\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x05\xd7W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90`\x00\x90[\x82\x82\x90T\x90a\x01\x00\n\x90\x04`\xe0\x1b`\x01`\x01`\xe0\x1b\x03\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x05\x99W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x05-V[PPPP\x90P\x90V[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW\x83\x82\x90`\x00R` `\x00 \x01\x80Ta\x06;\x90a\x0eOV[\x80`\x1f\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06g\x90a\x0eOV[\x80\x15a\x06\xb4W\x80`\x1f\x10a\x06\x89Wa\x01\x00\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xb4V[\x82\x01\x91\x90`\x00R` `\x00 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x97W\x82\x90\x03`\x1f\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x06\x1cV[```\x1a\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW`\x00\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80T`\x01`\x01`\xa0\x1b\x03\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x07\x96W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90`\x00\x90[\x82\x82\x90T\x90a\x01\x00\n\x90\x04`\xe0\x1b`\x01`\x01`\xe0\x1b\x03\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x07XW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x06\xecV[`\x1bT`\xff\x16\x15a\x07\xc1Wa\x07\xc1a\x0e V[V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW\x83\x82\x90`\x00R` `\x00 \x01\x80Ta\x08\x06\x90a\x0eOV[\x80`\x1f\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x082\x90a\x0eOV[\x80\x15a\x08\x7fW\x80`\x1f\x10a\x08TWa\x01\x00\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x08\x7fV[\x82\x01\x91\x90`\x00R` `\x00 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x08bW\x82\x90\x03`\x1f\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x07\xe7V[`\x07T`\x00\x90a\x01\x00\x90\x04`\xff\x16\x15a\x08\xb5WP`\x07Ta\x01\x00\x90\x04`\xff\x16\x90V[`\x00sq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-;\x15a\t\xbbW`@\x80Qsq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-` \x82\x01\x81\x90Re\x19\x98Z[\x19Y`\xd2\x1b\x82\x84\x01R\x82Q\x80\x83\x03\x84\x01\x81R``\x83\x01\x90\x93R`\x00\x92\x90\x91a\tC\x91\x7ff\x7f\x9dp\xcaA\x1dp\xea\xd5\r\x8d\\\"\x07\r\xaf\xc3j\xd7_=\xcf^r7\xb2*\xde\x9a\xec\xc4\x91`\x80\x01a\x0e\x89V[`@\x80Q`\x1f\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\t]\x91a\x0e\xbaV[`\x00`@Q\x80\x83\x03\x81`\x00\x86Z\xf1\x91PP=\x80`\x00\x81\x14a\t\x9aW`@Q\x91P`\x1f\x19`?=\x01\x16\x82\x01`@R=\x82R=`\x00` \x84\x01>a\t\x9fV[``\x91P[P\x91PP\x80\x80` \x01\x90Q\x81\x01\x90a\t\xb7\x91\x90a\x0e\xd6V[\x91PP[\x91\x90PV[`\x1bT`\xff\x16a\x07\xc1Wa\x07\xc1a\x0e V[```\x13\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8WPPPPP\x90P\x90V[\x80\x82\x14a\x0bYW\x7fA0O\xac\xd92=u\xb1\x1b\xcd\xd6\t\xcb8\xef\xff\xfd\xb0W\x10\xf7\xca\xf0\xe9\xb1lm\x9dp\x9fP`@Qa\n\xa3\x90` \x80\x82R`\"\x90\x82\x01R\x7fError: a == b not satisfied [uin`@\x82\x01Rat]`\xf0\x1b``\x82\x01R`\x80\x01\x90V[`@Q\x80\x91\x03\x90\xa1`@\x80Q\x81\x81R`\n\x81\x83\x01Ri\x08\x08\x08\x08\x08\x08\x13\x19Y\x9d`\xb2\x1b``\x82\x01R` \x81\x01\x84\x90R\x90Q\x7f\xb2\xde/\xbe\x80\x1a\r\xf6\xc0\xcb\xdd\xfdD\x8b\xa3\xc4\x1dH\xa0@\xca5\xc5l\x81\x96\xef\x0f\xca\xe7!\xa8\x91\x81\x90\x03`\x80\x01\x90\xa1`@\x80Q\x81\x81R`\n\x81\x83\x01Ri\x08\x08\x08\x08\x08\x14\x9aY\xda\x1d`\xb2\x1b``\x82\x01R` \x81\x01\x83\x90R\x90Q\x7f\xb2\xde/\xbe\x80\x1a\r\xf6\xc0\xcb\xdd\xfdD\x8b\xa3\xc4\x1dH\xa0@\xca5\xc5l\x81\x96\xef\x0f\xca\xe7!\xa8\x91\x81\x90\x03`\x80\x01\x90\xa1a\x0bYa\x0b]V[PPV[sq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-;\x15a\fXW`@\x80Qsq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-` \x82\x01\x81\x90Re\x19\x98Z[\x19Y`\xd2\x1b\x92\x82\x01\x92\x90\x92R`\x01``\x82\x01R`\x00\x91\x90\x7fp\xca\x10\xbb\xd0\xdb\xfd\x90 \xa9\xf4\xb14\x02\xc1l\xb1 p^\r\x1c\n\xea\xb1\x0f\xa3S\xaeXo\xc4\x90`\x80\x01`@\x80Q`\x1f\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x0b\xf7\x92\x91` \x01a\x0e\x89V[`@\x80Q`\x1f\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\f\x11\x91a\x0e\xbaV[`\x00`@Q\x80\x83\x03\x81`\x00\x86Z\xf1\x91PP=\x80`\x00\x81\x14a\fNW`@Q\x91P`\x1f\x19`?=\x01\x16\x82\x01`@R=\x82R=`\x00` \x84\x01>a\fSV[``\x91P[PPPP[`\x07\x80Ta\xff\x00\x19\x16a\x01\x00\x17\x90UV[a\x01\f\x80a\x0f\x00\x839\x01\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\x00\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\f\xb7W\x83Q`\x01`\x01`\xa0\x1b\x03\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\f\x92V[P\x90\x96\x95PPPPPPV[`\x00` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P\x82\x86\x01\x91P\x82\x81`\x05\x1b\x87\x01\x01\x84\x88\x01`\x00\x80[\x84\x81\x10\x15a\rgW\x89\x84\x03`?\x19\x01\x86R\x82Q\x80Q`\x01`\x01`\xa0\x1b\x03\x16\x85R\x88\x01Q\x88\x85\x01\x88\x90R\x80Q\x88\x86\x01\x81\x90R\x90\x89\x01\x90\x83\x90``\x87\x01\x90[\x80\x83\x10\x15a\rRW\x83Q`\x01`\x01`\xe0\x1b\x03\x19\x16\x82R\x92\x8b\x01\x92`\x01\x92\x90\x92\x01\x91\x90\x8b\x01\x90a\r(V[P\x97\x8a\x01\x97\x95PPP\x91\x87\x01\x91`\x01\x01a\f\xebV[P\x91\x99\x98PPPPPPPPPV[`\x00[\x83\x81\x10\x15a\r\x91W\x81\x81\x01Q\x83\x82\x01R` \x01a\ryV[\x83\x81\x11\x15a\r\xa0W`\x00\x84\x84\x01R[PPPPV[`\x00` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1b\x87\x01\x01\x92P\x83\x87\x01`\x00[\x82\x81\x10\x15a\x0e\x13W\x87\x85\x03`?\x19\x01\x84R\x81Q\x80Q\x80\x87Ra\r\xf4\x81\x89\x89\x01\x8a\x85\x01a\rvV[`\x1f\x01`\x1f\x19\x16\x95\x90\x95\x01\x86\x01\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\r\xcdV[P\x92\x97\x96PPPPPPPV[cNH{q`\xe0\x1b`\x00R`\x01`\x04R`$`\x00\xfd[`\x00` \x82\x84\x03\x12\x15a\x0eHW`\x00\x80\xfd[PQ\x91\x90PV[`\x01\x81\x81\x1c\x90\x82\x16\x80a\x0ecW`\x7f\x82\x16\x91P[` \x82\x10\x81\x03a\x0e\x83WcNH{q`\xe0\x1b`\x00R`\"`\x04R`$`\x00\xfd[P\x91\x90PV[`\x01`\x01`\xe0\x1b\x03\x19\x83\x16\x81R\x81Q`\x00\x90a\x0e\xac\x81`\x04\x85\x01` \x87\x01a\rvV[\x91\x90\x91\x01`\x04\x01\x93\x92PPPV[`\x00\x82Qa\x0e\xcc\x81\x84` \x87\x01a\rvV[\x91\x90\x91\x01\x92\x91PPV[`\x00` \x82\x84\x03\x12\x15a\x0e\xe8W`\x00\x80\xfd[\x81Q\x80\x15\x15\x81\x14a\x0e\xf8W`\x00\x80\xfd[\x93\x92PPPV\xfe`\x80`@R`\x05`\x00U`\xf5\x80a\x00\x17`\x009`\x00\xf3\xfe`\x80`@R`\x046\x10`0W`\x005`\xe0\x1c\x80c\x06f\x1a\xbd\x14`5W\x80c\x10\x03\xe2\xd2\x14`[W\x80c`\xfeG\xb1\x14`lW[`\x00\x80\xfd[4\x80\x15`@W`\x00\x80\xfd[P`I`\x00T\x81V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xf3[`j`f6`\x04`\xabV[`\x87V[\x00[4\x80\x15`wW`\x00\x80\xfd[P`j`\x836`\x04`\xabV[`\x99V[\x80`\x00T`\x93\x91\x90`\xc3V[`\x00UPV[`\x03`\x00T\x10\x15`\xa6WPV[`\x00UV[`\x00` \x82\x84\x03\x12\x15`\xbcW`\x00\x80\xfd[P5\x91\x90PV[`\x00\x82\x19\x82\x11\x15`\xe3WcNH{q`\xe0\x1b`\x00R`\x11`\x04R`$`\x00\xfd[P\x01\x90V\xfe\xa1dsolcC\x00\x08\r\x00\n\xa1dsolcC\x00\x08\r\x00\n" ) + ( b"" => b"`\x80`@R`\x046\x10`0W`\x005`\xe0\x1c\x80c\x06f\x1a\xbd\x14`5W\x80c\x10\x03\xe2\xd2\x14`[W\x80c`\xfeG\xb1\x14`lW[`\x00\x80\xfd[4\x80\x15`@W`\x00\x80\xfd[P`I`\x00T\x81V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xf3[`j`f6`\x04`\xabV[`\x87V[\x00[4\x80\x15`wW`\x00\x80\xfd[P`j`\x836`\x04`\xabV[`\x99V[\x80`\x00T`\x93\x91\x90`\xc3V[`\x00UPV[`\x03`\x00T\x10\x15`\xa6WPV[`\x00UV[`\x00` \x82\x84\x03\x12\x15`\xbcW`\x00\x80\xfd[P5\x91\x90PV[`\x00\x82\x19\x82\x11\x15`\xe3WcNH{q`\xe0\x1b`\x00R`\x11`\x04R`$`\x00\xfd[P\x01\x90V\xfe\xa1dsolcC\x00\x08\r\x00\n" ) 0 @@ -89,14 +208,17 @@ module SUMMARY-TEST%CONSTRUCTORTEST.INIT:0 false - 0 + ( 0 => 1 ) - #address ( FoundryTest ) + ( #address ( FoundryTest ) => 491460923342184218035706888008750043977755113263 ) ... + + SELFDESTRUCT_CELL:Set + .List @@ -112,7 +234,6 @@ module SUMMARY-TEST%CONSTRUCTORTEST.INIT:0 ( .Set => SetItem ( 491460923342184218035706888008750043977755113263 ) ) - ... 137122462167341575662000267002353578582749290296 @@ -144,7 +265,7 @@ module SUMMARY-TEST%CONSTRUCTORTEST.INIT:0 0 - ( .Map => ( 0 |-> 4321 ) ) + ( .Map => ( 0 |-> 5 ) ) .Map @@ -207,7 +328,7 @@ module SUMMARY-TEST%CONSTRUCTORTEST.INIT:0 ( ( 11 |-> 1 ) - ( ( 27 |-> 125813996375599159817140963330240011258305308995329 ) + ( ( 27 |-> 1 ) ( 7 |-> 1 ) ) ) @@ -281,6 +402,838 @@ module SUMMARY-TEST%CONSTRUCTORTEST.INIT:0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + + + + requires ( 0 <=Int MIXHASH_CELL:Int + andBool ( pow24 + + + #halt + ~> ( #codeDeposit 491460923342184218035706888008750043977755113263 + ~> #pc [ CREATE ] => #return 128 0 + ~> #pc [ CALL ] ) + ~> #execute + ~> _CONTINUATION:K + + + NORMAL + + + CANCUN + + + false + + + + + ( b"`\x80`@R`\x046\x10`0W`\x005`\xe0\x1c\x80c\x06f\x1a\xbd\x14`5W\x80c\x10\x03\xe2\xd2\x14`[W\x80c`\xfeG\xb1\x14`lW[`\x00\x80\xfd[4\x80\x15`@W`\x00\x80\xfd[P`I`\x00T\x81V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xf3[`j`f6`\x04`\xabV[`\x87V[\x00[4\x80\x15`wW`\x00\x80\xfd[P`j`\x836`\x04`\xabV[`\x99V[\x80`\x00T`\x93\x91\x90`\xc3V[`\x00UPV[`\x03`\x00T\x10\x15`\xa6WPV[`\x00UV[`\x00` \x82\x84\x03\x12\x15`\xbcW`\x00\x80\xfd[P5\x91\x90PV[`\x00\x82\x19\x82\x11\x15`\xe3WcNH{q`\xe0\x1b`\x00R`\x11`\x04R`$`\x00\xfd[P\x01\x90V\xfe\xa1dsolcC\x00\x08\r\x00\n" => b"" ) + + + EVMC_SUCCESS + + + ListItem ( + + #address ( FoundryTest ) + + + 137122462167341575662000267002353578582749290296 + + + CALLDATA_CELL:Bytes + + + 0 + + + ( .WordStack => ( 164 : ( 1627277233 : ( 491460923342184218035706888008750043977755113263 : .WordStack ) ) ) ) + + + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x80`@R`\x05`\x00U`\xf5\x80a\x00\x17`\x009`\x00\xf3\xfe`\x80`@R`\x046\x10`0W`\x005`\xe0\x1c\x80c\x06f\x1a\xbd\x14`5W\x80c\x10\x03\xe2\xd2\x14`[W\x80c`\xfeG\xb1\x14`lW[`\x00\x80\xfd[4\x80\x15`@W`\x00\x80\xfd[P`I`\x00T\x81V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xf3[`j`f6`\x04`\xabV[`\x87V[\x00[4\x80\x15`wW`\x00\x80\xfd[P`j`\x836`\x04`\xabV[`\x99V[\x80`\x00T`\x93\x91\x90`\xc3V[`\x00UPV[`\x03`\x00T\x10\x15`\xa6WPV[`\x00UV[`\x00` \x82\x84\x03\x12\x15`\xbcW`\x00\x80\xfd[P5\x91\x90PV[`\x00\x82\x19\x82\x11\x15`\xe3WcNH{q`\xe0\x1b`\x00R`\x11`\x04R`$`\x00\xfd[P\x01\x90V\xfe\xa1dsolcC\x00\x08\r\x00\n" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\xfeG\xb1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xe1\x005`\xe0\x1c\x80c\x06f\x1a\xbd\x14`5W\x80c\x10\x03\xe2\xd2\x14`[W\x80c`\xfeG\xb1\x14`lW[`\x00\x80\xfd[4\x80\x15`@W`\x00\x80\xfd[P`I`\x00T\x81V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xf3[`j`f6`\x04`\xabV[`\x87V[\x00[4\x80\x15`wW`\x00\x80\xfd[P`j`\x836`\x04`\xabV[`\x99V[\x80`\x00T`\x93\x91\x90`\xc3V[`\x00UPV[`\x03`\x00T\x10\x15`\xa6WPV[`\x00UV[`\x00` \x82\x84\x03\x12\x15`\xbcW`\x00\x80\xfd[P5\x91\x90PV[`\x00\x82\x19\x82\x11\x15`\xe3WcNH{q`\xe0\x1b`\x00R`\x11`\x04R`$`\x00\xfd[P\x01\x90V\xfe\xa1dsolcC\x00\x08\r\x00\n" ) + + + 0 + + + 0 + + + false + + + 0 + + + #address ( FoundryTest ) + + ... + ) + + + ListItem ( { + ( + + ( #address ( FoundryCheat ) => 491460923342184218035706888008750043977755113263 ) + + + 0 + + + ( .Map => ( 0 |-> 5 ) ) + + + .Map + + + .Map + + + ( 0 => 1 ) + + ... + + ( + + #address ( FoundryTest ) + + + maxUInt96 + + + ( ( 11 |-> 1 ) + ( ( 27 |-> 1 ) + ( 7 |-> 1 ) ) ) + + + .Map + + + .Map + + + 2 + + ... + => ( + + #address ( FoundryCheat ) + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + #address ( FoundryTest ) + + + maxUInt96 + + + ( ( 11 |-> 1 ) + ( ( 27 |-> 125813996375599159817140963330240011258305308995329 ) + ( 7 |-> 1 ) ) ) + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + | + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) => ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + + + .Map + + + ( .Set => SetItem ( 491460923342184218035706888008750043977755113263 ) ) + + } ) + + + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + + + + 491460923342184218035706888008750043977755113263 + + + #address ( FoundryTest ) + + + ( b"" => b"`\xfeG\xb1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xe1" ) + + + 0 + + + ( .WordStack => ( 1627277233 : .WordStack ) ) + + + ( b"`\x80`@R`\x046\x10`0W`\x005`\xe0\x1c\x80c\x06f\x1a\xbd\x14`5W\x80c\x10\x03\xe2\xd2\x14`[W\x80c`\xfeG\xb1\x14`lW[`\x00\x80\xfd[4\x80\x15`@W`\x00\x80\xfd[P`I`\x00T\x81V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xf3[`j`f6`\x04`\xabV[`\x87V[\x00[4\x80\x15`wW`\x00\x80\xfd[P`j`\x836`\x04`\xabV[`\x99V[\x80`\x00T`\x93\x91\x90`\xc3V[`\x00UPV[`\x03`\x00T\x10\x15`\xa6WPV[`\x00UV[`\x00` \x82\x84\x03\x12\x15`\xbcW`\x00\x80\xfd[P5\x91\x90PV[`\x00\x82\x19\x82\x11\x15`\xe3WcNH{q`\xe0\x1b`\x00R`\x11`\x04R`$`\x00\xfd[P\x01\x90V\xfe\xa1dsolcC\x00\x08\r\x00\n" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" ) + + + 0 + + + 0 + + + false + + + 1 + + + 491460923342184218035706888008750043977755113263 + + ... + + + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + + + .Map + + + SetItem ( 491460923342184218035706888008750043977755113263 ) + + + + 137122462167341575662000267002353578582749290296 + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + + MIXHASH_CELL:Int + + ... + + ... + + + + 1 + + + ( + + #address ( FoundryCheat ) + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + #address ( FoundryTest ) + + + maxUInt96 + + + ( ( 11 |-> 1 ) + ( ( 27 |-> ( 1 => 125813996375599159817140963330240011258305308995329 ) ) + ( 7 |-> 1 ) ) ) + + + .Map + + + .Map + + + 2 + + ... + + + + 491460923342184218035706888008750043977755113263 + + + 0 + + + ( 0 |-> ( 5 => 4321 ) ) + + + .Map + + + .Map + + + 1 + + ... + ) ) + + ... + + + ... + + + true + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + .List + + + false + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + + + + requires ( 0 <=Int MIXHASH_CELL:Int + andBool ( pow24 + + + #halt + ~> ( #return 128 0 + ~> #pc [ CALL ] + ~> #execute => .K ) + ~> _CONTINUATION:K + + + NORMAL + + + CANCUN + + + false + + + + + ( b"" => b"`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x00\xeaW`\x005`\xe0\x1c\x80c\x92\xdfO\xbd\x11a\x00\x8cW\x80c\xe0\x18\x0b\x0b\x11a\x00fW\x80c\xe0\x18\x0b\x0b\x14a\x01\x81W\x80c\xe2\f\x9fq\x14a\x01\x89W\x80c\xe9\x9bk1\x14a\x01\x81W\x80c\xfav&\xd4\x14a\x01\x91W`\x00\x80\xfd[\x80c\x92\xdfO\xbd\x14a\x01YW\x80c\xb5P\x8a\xa9\x14a\x01aW\x80c\xbaAO\xa6\x14a\x01iW`\x00\x80\xfd[\x80c?r\x86\xf4\x11a\x00\xc8W\x80c?r\x86\xf4\x14a\x01\x1fW\x80cf\xd9\xa9\xa0\x14a\x01'W\x80c\x85\"l\x81\x14a\x01^<#\x14a\x01\x17W[`\x00\x80\xfd[a\x00\xf7a\x01\x9eV[`@Qa\x01\x04\x91\x90a\fvV[`@Q\x80\x91\x03\x90\xf3[a\x01\x15a\x02\x00V[\x00[a\x00\xf7a\x04IV[a\x00\xf7a\x04\xa9V[a\x01/a\x05\tV[`@Qa\x01\x04\x91\x90a\f\xc3V[a\x01Da\x05\xf8V[`@Qa\x01\x04\x91\x90a\r\xa6V[a\x01/a\x06\xc8V[a\x01\x15a\x07\xaeV[a\x01Da\x07\xc3V[a\x01qa\x08\x93V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[a\x01\x15a\t\xc0V[a\x00\xf7a\t\xd2V[`\x07Ta\x01q\x90`\xff\x16\x81V[```\x14\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90[\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8W[PPPPP\x90P\x90V[`\x1bT`\xff\x16a\x02\x12Wa\x02\x12a\x0e V[`\x00`@Qa\x02 \x90a\fiV[`@Q\x80\x91\x03\x90`\x00\xf0\x80\x15\x80\x15a\x02=`\x00\xfd[P`@Qc`\xfeG\xb1`\xe0\x1b\x81Ra\x158`\x04\x82\x01R\x90\x91P`\x01`\x01`\xa0\x1b\x03\x82\x16\x90c`\xfeG\xb1\x90`$\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x02\x83W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x02\x97W=`\x00\x80>=`\x00\xfd[PP`\x1bT`@Qc\x08\x01\xf1i`\xe1\x1b\x81R`\x03`\x04\x82\x01Ra\x01\x00\x90\x91\x04`\x01`\x01`\xa0\x1b\x03\x16\x92Pc\x10\x03\xe2\xd2\x91P`$\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x02\xe5W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x02\xf9W=`\x00\x80>=`\x00\xfd[PPPPa\x03\x7f`\x1b`\x01\x90T\x90a\x01\x00\n\x90\x04`\x01`\x01`\xa0\x1b\x03\x16`\x01`\x01`\xa0\x1b\x03\x16c\x06f\x1a\xbd`@Q\x81c\xff\xff\xff\xff\x16`\xe0\x1b\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xfa\x15\x80\x15a\x03SW=`\x00\x80>=`\x00\xfd[PPPP`@Q=`\x1f\x19`\x1f\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03w\x91\x90a\x0e6V[a\x10\xe4a\n2V[`@Qc\x08\x01\xf1i`\xe1\x1b\x81R`\x05`\x04\x82\x01R`\x01`\x01`\xa0\x1b\x03\x82\x16\x90c\x10\x03\xe2\xd2\x90`$\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x03\xc1W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x03\xd5W=`\x00\x80>=`\x00\xfd[PPPPa\x04F\x81`\x01`\x01`\xa0\x1b\x03\x16c\x06f\x1a\xbd`@Q\x81c\xff\xff\xff\xff\x16`\xe0\x1b\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xfa\x15\x80\x15a\x04\x1aW=`\x00\x80>=`\x00\xfd[PPPP`@Q=`\x1f\x19`\x1f\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04>\x91\x90a\x0e6V[a\x15=a\n2V[PV[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8WPPPPP\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8WPPPPP\x90P\x90V[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW`\x00\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80T`\x01`\x01`\xa0\x1b\x03\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x05\xd7W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90`\x00\x90[\x82\x82\x90T\x90a\x01\x00\n\x90\x04`\xe0\x1b`\x01`\x01`\xe0\x1b\x03\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x05\x99W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x05-V[PPPP\x90P\x90V[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW\x83\x82\x90`\x00R` `\x00 \x01\x80Ta\x06;\x90a\x0eOV[\x80`\x1f\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06g\x90a\x0eOV[\x80\x15a\x06\xb4W\x80`\x1f\x10a\x06\x89Wa\x01\x00\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xb4V[\x82\x01\x91\x90`\x00R` `\x00 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x97W\x82\x90\x03`\x1f\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x06\x1cV[```\x1a\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW`\x00\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80T`\x01`\x01`\xa0\x1b\x03\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x07\x96W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90`\x00\x90[\x82\x82\x90T\x90a\x01\x00\n\x90\x04`\xe0\x1b`\x01`\x01`\xe0\x1b\x03\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x07XW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x06\xecV[`\x1bT`\xff\x16\x15a\x07\xc1Wa\x07\xc1a\x0e V[V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW\x83\x82\x90`\x00R` `\x00 \x01\x80Ta\x08\x06\x90a\x0eOV[\x80`\x1f\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x082\x90a\x0eOV[\x80\x15a\x08\x7fW\x80`\x1f\x10a\x08TWa\x01\x00\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x08\x7fV[\x82\x01\x91\x90`\x00R` `\x00 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x08bW\x82\x90\x03`\x1f\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x07\xe7V[`\x07T`\x00\x90a\x01\x00\x90\x04`\xff\x16\x15a\x08\xb5WP`\x07Ta\x01\x00\x90\x04`\xff\x16\x90V[`\x00sq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-;\x15a\t\xbbW`@\x80Qsq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-` \x82\x01\x81\x90Re\x19\x98Z[\x19Y`\xd2\x1b\x82\x84\x01R\x82Q\x80\x83\x03\x84\x01\x81R``\x83\x01\x90\x93R`\x00\x92\x90\x91a\tC\x91\x7ff\x7f\x9dp\xcaA\x1dp\xea\xd5\r\x8d\\\"\x07\r\xaf\xc3j\xd7_=\xcf^r7\xb2*\xde\x9a\xec\xc4\x91`\x80\x01a\x0e\x89V[`@\x80Q`\x1f\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\t]\x91a\x0e\xbaV[`\x00`@Q\x80\x83\x03\x81`\x00\x86Z\xf1\x91PP=\x80`\x00\x81\x14a\t\x9aW`@Q\x91P`\x1f\x19`?=\x01\x16\x82\x01`@R=\x82R=`\x00` \x84\x01>a\t\x9fV[``\x91P[P\x91PP\x80\x80` \x01\x90Q\x81\x01\x90a\t\xb7\x91\x90a\x0e\xd6V[\x91PP[\x91\x90PV[`\x1bT`\xff\x16a\x07\xc1Wa\x07\xc1a\x0e V[```\x13\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8WPPPPP\x90P\x90V[\x80\x82\x14a\x0bYW\x7fA0O\xac\xd92=u\xb1\x1b\xcd\xd6\t\xcb8\xef\xff\xfd\xb0W\x10\xf7\xca\xf0\xe9\xb1lm\x9dp\x9fP`@Qa\n\xa3\x90` \x80\x82R`\"\x90\x82\x01R\x7fError: a == b not satisfied [uin`@\x82\x01Rat]`\xf0\x1b``\x82\x01R`\x80\x01\x90V[`@Q\x80\x91\x03\x90\xa1`@\x80Q\x81\x81R`\n\x81\x83\x01Ri\x08\x08\x08\x08\x08\x08\x13\x19Y\x9d`\xb2\x1b``\x82\x01R` \x81\x01\x84\x90R\x90Q\x7f\xb2\xde/\xbe\x80\x1a\r\xf6\xc0\xcb\xdd\xfdD\x8b\xa3\xc4\x1dH\xa0@\xca5\xc5l\x81\x96\xef\x0f\xca\xe7!\xa8\x91\x81\x90\x03`\x80\x01\x90\xa1`@\x80Q\x81\x81R`\n\x81\x83\x01Ri\x08\x08\x08\x08\x08\x14\x9aY\xda\x1d`\xb2\x1b``\x82\x01R` \x81\x01\x83\x90R\x90Q\x7f\xb2\xde/\xbe\x80\x1a\r\xf6\xc0\xcb\xdd\xfdD\x8b\xa3\xc4\x1dH\xa0@\xca5\xc5l\x81\x96\xef\x0f\xca\xe7!\xa8\x91\x81\x90\x03`\x80\x01\x90\xa1a\x0bYa\x0b]V[PPV[sq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-;\x15a\fXW`@\x80Qsq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-` \x82\x01\x81\x90Re\x19\x98Z[\x19Y`\xd2\x1b\x92\x82\x01\x92\x90\x92R`\x01``\x82\x01R`\x00\x91\x90\x7fp\xca\x10\xbb\xd0\xdb\xfd\x90 \xa9\xf4\xb14\x02\xc1l\xb1 p^\r\x1c\n\xea\xb1\x0f\xa3S\xaeXo\xc4\x90`\x80\x01`@\x80Q`\x1f\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x0b\xf7\x92\x91` \x01a\x0e\x89V[`@\x80Q`\x1f\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\f\x11\x91a\x0e\xbaV[`\x00`@Q\x80\x83\x03\x81`\x00\x86Z\xf1\x91PP=\x80`\x00\x81\x14a\fNW`@Q\x91P`\x1f\x19`?=\x01\x16\x82\x01`@R=\x82R=`\x00` \x84\x01>a\fSV[``\x91P[PPPP[`\x07\x80Ta\xff\x00\x19\x16a\x01\x00\x17\x90UV[a\x01\f\x80a\x0f\x00\x839\x01\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\x00\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\f\xb7W\x83Q`\x01`\x01`\xa0\x1b\x03\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\f\x92V[P\x90\x96\x95PPPPPPV[`\x00` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P\x82\x86\x01\x91P\x82\x81`\x05\x1b\x87\x01\x01\x84\x88\x01`\x00\x80[\x84\x81\x10\x15a\rgW\x89\x84\x03`?\x19\x01\x86R\x82Q\x80Q`\x01`\x01`\xa0\x1b\x03\x16\x85R\x88\x01Q\x88\x85\x01\x88\x90R\x80Q\x88\x86\x01\x81\x90R\x90\x89\x01\x90\x83\x90``\x87\x01\x90[\x80\x83\x10\x15a\rRW\x83Q`\x01`\x01`\xe0\x1b\x03\x19\x16\x82R\x92\x8b\x01\x92`\x01\x92\x90\x92\x01\x91\x90\x8b\x01\x90a\r(V[P\x97\x8a\x01\x97\x95PPP\x91\x87\x01\x91`\x01\x01a\f\xebV[P\x91\x99\x98PPPPPPPPPV[`\x00[\x83\x81\x10\x15a\r\x91W\x81\x81\x01Q\x83\x82\x01R` \x01a\ryV[\x83\x81\x11\x15a\r\xa0W`\x00\x84\x84\x01R[PPPPV[`\x00` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1b\x87\x01\x01\x92P\x83\x87\x01`\x00[\x82\x81\x10\x15a\x0e\x13W\x87\x85\x03`?\x19\x01\x84R\x81Q\x80Q\x80\x87Ra\r\xf4\x81\x89\x89\x01\x8a\x85\x01a\rvV[`\x1f\x01`\x1f\x19\x16\x95\x90\x95\x01\x86\x01\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\r\xcdV[P\x92\x97\x96PPPPPPPV[cNH{q`\xe0\x1b`\x00R`\x01`\x04R`$`\x00\xfd[`\x00` \x82\x84\x03\x12\x15a\x0eHW`\x00\x80\xfd[PQ\x91\x90PV[`\x01\x81\x81\x1c\x90\x82\x16\x80a\x0ecW`\x7f\x82\x16\x91P[` \x82\x10\x81\x03a\x0e\x83WcNH{q`\xe0\x1b`\x00R`\"`\x04R`$`\x00\xfd[P\x91\x90PV[`\x01`\x01`\xe0\x1b\x03\x19\x83\x16\x81R\x81Q`\x00\x90a\x0e\xac\x81`\x04\x85\x01` \x87\x01a\rvV[\x91\x90\x91\x01`\x04\x01\x93\x92PPPV[`\x00\x82Qa\x0e\xcc\x81\x84` \x87\x01a\rvV[\x91\x90\x91\x01\x92\x91PPV[`\x00` \x82\x84\x03\x12\x15a\x0e\xe8W`\x00\x80\xfd[\x81Q\x80\x15\x15\x81\x14a\x0e\xf8W`\x00\x80\xfd[\x93\x92PPPV\xfe`\x80`@R`\x05`\x00U`\xf5\x80a\x00\x17`\x009`\x00\xf3\xfe`\x80`@R`\x046\x10`0W`\x005`\xe0\x1c\x80c\x06f\x1a\xbd\x14`5W\x80c\x10\x03\xe2\xd2\x14`[W\x80c`\xfeG\xb1\x14`lW[`\x00\x80\xfd[4\x80\x15`@W`\x00\x80\xfd[P`I`\x00T\x81V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xf3[`j`f6`\x04`\xabV[`\x87V[\x00[4\x80\x15`wW`\x00\x80\xfd[P`j`\x836`\x04`\xabV[`\x99V[\x80`\x00T`\x93\x91\x90`\xc3V[`\x00UPV[`\x03`\x00T\x10\x15`\xa6WPV[`\x00UV[`\x00` \x82\x84\x03\x12\x15`\xbcW`\x00\x80\xfd[P5\x91\x90PV[`\x00\x82\x19\x82\x11\x15`\xe3WcNH{q`\xe0\x1b`\x00R`\x11`\x04R`$`\x00\xfd[P\x01\x90V\xfe\xa1dsolcC\x00\x08\r\x00\n\xa1dsolcC\x00\x08\r\x00\n" ) + + + EVMC_SUCCESS + + + ( ListItem ( + + #address ( FoundryTest ) + + + 137122462167341575662000267002353578582749290296 + + + CALLDATA_CELL:Bytes + + + 0 + + + ( 164 : ( 1627277233 : ( 491460923342184218035706888008750043977755113263 : .WordStack ) ) ) + + + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\xfeG\xb1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xe1\x005`\xe0\x1c\x80c\x06f\x1a\xbd\x14`5W\x80c\x10\x03\xe2\xd2\x14`[W\x80c`\xfeG\xb1\x14`lW[`\x00\x80\xfd[4\x80\x15`@W`\x00\x80\xfd[P`I`\x00T\x81V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xf3[`j`f6`\x04`\xabV[`\x87V[\x00[4\x80\x15`wW`\x00\x80\xfd[P`j`\x836`\x04`\xabV[`\x99V[\x80`\x00T`\x93\x91\x90`\xc3V[`\x00UPV[`\x03`\x00T\x10\x15`\xa6WPV[`\x00UV[`\x00` \x82\x84\x03\x12\x15`\xbcW`\x00\x80\xfd[P5\x91\x90PV[`\x00\x82\x19\x82\x11\x15`\xe3WcNH{q`\xe0\x1b`\x00R`\x11`\x04R`$`\x00\xfd[P\x01\x90V\xfe\xa1dsolcC\x00\x08\r\x00\n" + + + 0 + + + 0 + + + false + + + 0 + + + #address ( FoundryTest ) + + ... + ) => .List ) + + + ( ListItem ( { + ( + + #address ( FoundryCheat ) + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + #address ( FoundryTest ) + + + maxUInt96 + + + ( ( 11 |-> 1 ) + ( ( 27 |-> 125813996375599159817140963330240011258305308995329 ) + ( 7 |-> 1 ) ) ) + + + .Map + + + .Map + + + 2 + + ... + + + + 491460923342184218035706888008750043977755113263 + + + 0 + + + ( 0 |-> 5 ) + + + .Map + + + .Map + + + 1 + + ... + ) ) + | + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + + + .Map + + + SetItem ( 491460923342184218035706888008750043977755113263 ) + + } ) => .List ) + + + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + + + + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + + + ( #address ( FoundryTest ) => 137122462167341575662000267002353578582749290296 ) + + + ( b"`\xfeG\xb1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\xe1" => CALLDATA_CELL:Bytes ) + + + 0 + + + ( ( 1627277233 : .WordStack ) => .WordStack ) + + + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" => b"`\x80`@R4\x80\x15a\x00\x10W`\x00\x80\xfd[P`\x046\x10a\x00\xeaW`\x005`\xe0\x1c\x80c\x92\xdfO\xbd\x11a\x00\x8cW\x80c\xe0\x18\x0b\x0b\x11a\x00fW\x80c\xe0\x18\x0b\x0b\x14a\x01\x81W\x80c\xe2\f\x9fq\x14a\x01\x89W\x80c\xe9\x9bk1\x14a\x01\x81W\x80c\xfav&\xd4\x14a\x01\x91W`\x00\x80\xfd[\x80c\x92\xdfO\xbd\x14a\x01YW\x80c\xb5P\x8a\xa9\x14a\x01aW\x80c\xbaAO\xa6\x14a\x01iW`\x00\x80\xfd[\x80c?r\x86\xf4\x11a\x00\xc8W\x80c?r\x86\xf4\x14a\x01\x1fW\x80cf\xd9\xa9\xa0\x14a\x01'W\x80c\x85\"l\x81\x14a\x01^<#\x14a\x01\x17W[`\x00\x80\xfd[a\x00\xf7a\x01\x9eV[`@Qa\x01\x04\x91\x90a\fvV[`@Q\x80\x91\x03\x90\xf3[a\x01\x15a\x02\x00V[\x00[a\x00\xf7a\x04IV[a\x00\xf7a\x04\xa9V[a\x01/a\x05\tV[`@Qa\x01\x04\x91\x90a\f\xc3V[a\x01Da\x05\xf8V[`@Qa\x01\x04\x91\x90a\r\xa6V[a\x01/a\x06\xc8V[a\x01\x15a\x07\xaeV[a\x01Da\x07\xc3V[a\x01qa\x08\x93V[`@Q\x90\x15\x15\x81R` \x01a\x01\x04V[a\x01\x15a\t\xc0V[a\x00\xf7a\t\xd2V[`\x07Ta\x01q\x90`\xff\x16\x81V[```\x14\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90[\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8W[PPPPP\x90P\x90V[`\x1bT`\xff\x16a\x02\x12Wa\x02\x12a\x0e V[`\x00`@Qa\x02 \x90a\fiV[`@Q\x80\x91\x03\x90`\x00\xf0\x80\x15\x80\x15a\x02=`\x00\xfd[P`@Qc`\xfeG\xb1`\xe0\x1b\x81Ra\x158`\x04\x82\x01R\x90\x91P`\x01`\x01`\xa0\x1b\x03\x82\x16\x90c`\xfeG\xb1\x90`$\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x02\x83W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x02\x97W=`\x00\x80>=`\x00\xfd[PP`\x1bT`@Qc\x08\x01\xf1i`\xe1\x1b\x81R`\x03`\x04\x82\x01Ra\x01\x00\x90\x91\x04`\x01`\x01`\xa0\x1b\x03\x16\x92Pc\x10\x03\xe2\xd2\x91P`$\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x02\xe5W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x02\xf9W=`\x00\x80>=`\x00\xfd[PPPPa\x03\x7f`\x1b`\x01\x90T\x90a\x01\x00\n\x90\x04`\x01`\x01`\xa0\x1b\x03\x16`\x01`\x01`\xa0\x1b\x03\x16c\x06f\x1a\xbd`@Q\x81c\xff\xff\xff\xff\x16`\xe0\x1b\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xfa\x15\x80\x15a\x03SW=`\x00\x80>=`\x00\xfd[PPPP`@Q=`\x1f\x19`\x1f\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x03w\x91\x90a\x0e6V[a\x10\xe4a\n2V[`@Qc\x08\x01\xf1i`\xe1\x1b\x81R`\x05`\x04\x82\x01R`\x01`\x01`\xa0\x1b\x03\x82\x16\x90c\x10\x03\xe2\xd2\x90`$\x01`\x00`@Q\x80\x83\x03\x81`\x00\x87\x80;\x15\x80\x15a\x03\xc1W`\x00\x80\xfd[PZ\xf1\x15\x80\x15a\x03\xd5W=`\x00\x80>=`\x00\xfd[PPPPa\x04F\x81`\x01`\x01`\xa0\x1b\x03\x16c\x06f\x1a\xbd`@Q\x81c\xff\xff\xff\xff\x16`\xe0\x1b\x81R`\x04\x01` `@Q\x80\x83\x03\x81\x86Z\xfa\x15\x80\x15a\x04\x1aW=`\x00\x80>=`\x00\xfd[PPPP`@Q=`\x1f\x19`\x1f\x82\x01\x16\x82\x01\x80`@RP\x81\x01\x90a\x04>\x91\x90a\x0e6V[a\x15=a\n2V[PV[```\x16\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8WPPPPP\x90P\x90V[```\x15\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8WPPPPP\x90P\x90V[```\x19\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW`\x00\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80T`\x01`\x01`\xa0\x1b\x03\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x05\xd7W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90`\x00\x90[\x82\x82\x90T\x90a\x01\x00\n\x90\x04`\xe0\x1b`\x01`\x01`\xe0\x1b\x03\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x05\x99W\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x05-V[PPPP\x90P\x90V[```\x18\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW\x83\x82\x90`\x00R` `\x00 \x01\x80Ta\x06;\x90a\x0eOV[\x80`\x1f\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x06g\x90a\x0eOV[\x80\x15a\x06\xb4W\x80`\x1f\x10a\x06\x89Wa\x01\x00\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x06\xb4V[\x82\x01\x91\x90`\x00R` `\x00 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x06\x97W\x82\x90\x03`\x1f\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x06\x1cV[```\x1a\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW`\x00\x84\x81R` \x90\x81\x90 `@\x80Q\x80\x82\x01\x82R`\x02\x86\x02\x90\x92\x01\x80T`\x01`\x01`\xa0\x1b\x03\x16\x83R`\x01\x81\x01\x80T\x83Q\x81\x87\x02\x81\x01\x87\x01\x90\x94R\x80\x84R\x93\x94\x91\x93\x85\x83\x01\x93\x92\x83\x01\x82\x82\x80\x15a\x07\x96W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90`\x00\x90[\x82\x82\x90T\x90a\x01\x00\n\x90\x04`\xe0\x1b`\x01`\x01`\xe0\x1b\x03\x19\x16\x81R` \x01\x90`\x04\x01\x90` \x82`\x03\x01\x04\x92\x83\x01\x92`\x01\x03\x82\x02\x91P\x80\x84\x11a\x07XW\x90P[PPPPP\x81RPP\x81R` \x01\x90`\x01\x01\x90a\x06\xecV[`\x1bT`\xff\x16\x15a\x07\xc1Wa\x07\xc1a\x0e V[V[```\x17\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01`\x00\x90[\x82\x82\x10\x15a\x05\xefW\x83\x82\x90`\x00R` `\x00 \x01\x80Ta\x08\x06\x90a\x0eOV[\x80`\x1f\x01` \x80\x91\x04\x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80Ta\x082\x90a\x0eOV[\x80\x15a\x08\x7fW\x80`\x1f\x10a\x08TWa\x01\x00\x80\x83T\x04\x02\x83R\x91` \x01\x91a\x08\x7fV[\x82\x01\x91\x90`\x00R` `\x00 \x90[\x81T\x81R\x90`\x01\x01\x90` \x01\x80\x83\x11a\x08bW\x82\x90\x03`\x1f\x16\x82\x01\x91[PPPPP\x81R` \x01\x90`\x01\x01\x90a\x07\xe7V[`\x07T`\x00\x90a\x01\x00\x90\x04`\xff\x16\x15a\x08\xb5WP`\x07Ta\x01\x00\x90\x04`\xff\x16\x90V[`\x00sq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-;\x15a\t\xbbW`@\x80Qsq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-` \x82\x01\x81\x90Re\x19\x98Z[\x19Y`\xd2\x1b\x82\x84\x01R\x82Q\x80\x83\x03\x84\x01\x81R``\x83\x01\x90\x93R`\x00\x92\x90\x91a\tC\x91\x7ff\x7f\x9dp\xcaA\x1dp\xea\xd5\r\x8d\\\"\x07\r\xaf\xc3j\xd7_=\xcf^r7\xb2*\xde\x9a\xec\xc4\x91`\x80\x01a\x0e\x89V[`@\x80Q`\x1f\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\t]\x91a\x0e\xbaV[`\x00`@Q\x80\x83\x03\x81`\x00\x86Z\xf1\x91PP=\x80`\x00\x81\x14a\t\x9aW`@Q\x91P`\x1f\x19`?=\x01\x16\x82\x01`@R=\x82R=`\x00` \x84\x01>a\t\x9fV[``\x91P[P\x91PP\x80\x80` \x01\x90Q\x81\x01\x90a\t\xb7\x91\x90a\x0e\xd6V[\x91PP[\x91\x90PV[`\x1bT`\xff\x16a\x07\xc1Wa\x07\xc1a\x0e V[```\x13\x80T\x80` \x02` \x01`@Q\x90\x81\x01`@R\x80\x92\x91\x90\x81\x81R` \x01\x82\x80T\x80\x15a\x01\xf6W` \x02\x82\x01\x91\x90`\x00R` `\x00 \x90\x81T`\x01`\x01`\xa0\x1b\x03\x16\x81R`\x01\x90\x91\x01\x90` \x01\x80\x83\x11a\x01\xd8WPPPPP\x90P\x90V[\x80\x82\x14a\x0bYW\x7fA0O\xac\xd92=u\xb1\x1b\xcd\xd6\t\xcb8\xef\xff\xfd\xb0W\x10\xf7\xca\xf0\xe9\xb1lm\x9dp\x9fP`@Qa\n\xa3\x90` \x80\x82R`\"\x90\x82\x01R\x7fError: a == b not satisfied [uin`@\x82\x01Rat]`\xf0\x1b``\x82\x01R`\x80\x01\x90V[`@Q\x80\x91\x03\x90\xa1`@\x80Q\x81\x81R`\n\x81\x83\x01Ri\x08\x08\x08\x08\x08\x08\x13\x19Y\x9d`\xb2\x1b``\x82\x01R` \x81\x01\x84\x90R\x90Q\x7f\xb2\xde/\xbe\x80\x1a\r\xf6\xc0\xcb\xdd\xfdD\x8b\xa3\xc4\x1dH\xa0@\xca5\xc5l\x81\x96\xef\x0f\xca\xe7!\xa8\x91\x81\x90\x03`\x80\x01\x90\xa1`@\x80Q\x81\x81R`\n\x81\x83\x01Ri\x08\x08\x08\x08\x08\x14\x9aY\xda\x1d`\xb2\x1b``\x82\x01R` \x81\x01\x83\x90R\x90Q\x7f\xb2\xde/\xbe\x80\x1a\r\xf6\xc0\xcb\xdd\xfdD\x8b\xa3\xc4\x1dH\xa0@\xca5\xc5l\x81\x96\xef\x0f\xca\xe7!\xa8\x91\x81\x90\x03`\x80\x01\x90\xa1a\x0bYa\x0b]V[PPV[sq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-;\x15a\fXW`@\x80Qsq\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-` \x82\x01\x81\x90Re\x19\x98Z[\x19Y`\xd2\x1b\x92\x82\x01\x92\x90\x92R`\x01``\x82\x01R`\x00\x91\x90\x7fp\xca\x10\xbb\xd0\xdb\xfd\x90 \xa9\xf4\xb14\x02\xc1l\xb1 p^\r\x1c\n\xea\xb1\x0f\xa3S\xaeXo\xc4\x90`\x80\x01`@\x80Q`\x1f\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\x0b\xf7\x92\x91` \x01a\x0e\x89V[`@\x80Q`\x1f\x19\x81\x84\x03\x01\x81R\x90\x82\x90Ra\f\x11\x91a\x0e\xbaV[`\x00`@Q\x80\x83\x03\x81`\x00\x86Z\xf1\x91PP=\x80`\x00\x81\x14a\fNW`@Q\x91P`\x1f\x19`?=\x01\x16\x82\x01`@R=\x82R=`\x00` \x84\x01>a\fSV[``\x91P[PPPP[`\x07\x80Ta\xff\x00\x19\x16a\x01\x00\x17\x90UV[a\x01\f\x80a\x0f\x00\x839\x01\x90V[` \x80\x82R\x82Q\x82\x82\x01\x81\x90R`\x00\x91\x90\x84\x82\x01\x90`@\x85\x01\x90\x84[\x81\x81\x10\x15a\f\xb7W\x83Q`\x01`\x01`\xa0\x1b\x03\x16\x83R\x92\x84\x01\x92\x91\x84\x01\x91`\x01\x01a\f\x92V[P\x90\x96\x95PPPPPPV[`\x00` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x92P\x82\x86\x01\x91P\x82\x81`\x05\x1b\x87\x01\x01\x84\x88\x01`\x00\x80[\x84\x81\x10\x15a\rgW\x89\x84\x03`?\x19\x01\x86R\x82Q\x80Q`\x01`\x01`\xa0\x1b\x03\x16\x85R\x88\x01Q\x88\x85\x01\x88\x90R\x80Q\x88\x86\x01\x81\x90R\x90\x89\x01\x90\x83\x90``\x87\x01\x90[\x80\x83\x10\x15a\rRW\x83Q`\x01`\x01`\xe0\x1b\x03\x19\x16\x82R\x92\x8b\x01\x92`\x01\x92\x90\x92\x01\x91\x90\x8b\x01\x90a\r(V[P\x97\x8a\x01\x97\x95PPP\x91\x87\x01\x91`\x01\x01a\f\xebV[P\x91\x99\x98PPPPPPPPPV[`\x00[\x83\x81\x10\x15a\r\x91W\x81\x81\x01Q\x83\x82\x01R` \x01a\ryV[\x83\x81\x11\x15a\r\xa0W`\x00\x84\x84\x01R[PPPPV[`\x00` \x80\x83\x01\x81\x84R\x80\x85Q\x80\x83R`@\x86\x01\x91P`@\x81`\x05\x1b\x87\x01\x01\x92P\x83\x87\x01`\x00[\x82\x81\x10\x15a\x0e\x13W\x87\x85\x03`?\x19\x01\x84R\x81Q\x80Q\x80\x87Ra\r\xf4\x81\x89\x89\x01\x8a\x85\x01a\rvV[`\x1f\x01`\x1f\x19\x16\x95\x90\x95\x01\x86\x01\x94P\x92\x85\x01\x92\x90\x85\x01\x90`\x01\x01a\r\xcdV[P\x92\x97\x96PPPPPPPV[cNH{q`\xe0\x1b`\x00R`\x01`\x04R`$`\x00\xfd[`\x00` \x82\x84\x03\x12\x15a\x0eHW`\x00\x80\xfd[PQ\x91\x90PV[`\x01\x81\x81\x1c\x90\x82\x16\x80a\x0ecW`\x7f\x82\x16\x91P[` \x82\x10\x81\x03a\x0e\x83WcNH{q`\xe0\x1b`\x00R`\"`\x04R`$`\x00\xfd[P\x91\x90PV[`\x01`\x01`\xe0\x1b\x03\x19\x83\x16\x81R\x81Q`\x00\x90a\x0e\xac\x81`\x04\x85\x01` \x87\x01a\rvV[\x91\x90\x91\x01`\x04\x01\x93\x92PPPV[`\x00\x82Qa\x0e\xcc\x81\x84` \x87\x01a\rvV[\x91\x90\x91\x01\x92\x91PPV[`\x00` \x82\x84\x03\x12\x15a\x0e\xe8W`\x00\x80\xfd[\x81Q\x80\x15\x15\x81\x14a\x0e\xf8W`\x00\x80\xfd[\x93\x92PPPV\xfe`\x80`@R`\x05`\x00U`\xf5\x80a\x00\x17`\x009`\x00\xf3\xfe`\x80`@R`\x046\x10`0W`\x005`\xe0\x1c\x80c\x06f\x1a\xbd\x14`5W\x80c\x10\x03\xe2\xd2\x14`[W\x80c`\xfeG\xb1\x14`lW[`\x00\x80\xfd[4\x80\x15`@W`\x00\x80\xfd[P`I`\x00T\x81V[`@Q\x90\x81R` \x01`@Q\x80\x91\x03\x90\xf3[`j`f6`\x04`\xabV[`\x87V[\x00[4\x80\x15`wW`\x00\x80\xfd[P`j`\x836`\x04`\xabV[`\x99V[\x80`\x00T`\x93\x91\x90`\xc3V[`\x00UPV[`\x03`\x00T\x10\x15`\xa6WPV[`\x00UV[`\x00` \x82\x84\x03\x12\x15`\xbcW`\x00\x80\xfd[P5\x91\x90PV[`\x00\x82\x19\x82\x11\x15`\xe3WcNH{q`\xe0\x1b`\x00R`\x11`\x04R`$`\x00\xfd[P\x01\x90V\xfe\xa1dsolcC\x00\x08\r\x00\n\xa1dsolcC\x00\x08\r\x00\n" ) + + + 0 + + + 0 + + + false + + + ( 1 => 0 ) + + + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + + ... + + + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + + + .Map + + + SetItem ( 491460923342184218035706888008750043977755113263 ) + + + + 137122462167341575662000267002353578582749290296 + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + + MIXHASH_CELL:Int + + ... + + ... + + + + 1 + + + ( + + #address ( FoundryCheat ) + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + #address ( FoundryTest ) + + + maxUInt96 + + + ( ( 11 |-> 1 ) + ( ( 27 |-> 125813996375599159817140963330240011258305308995329 ) + ( 7 |-> 1 ) ) ) + + + .Map + + + .Map + + + 2 + + ... + + + + 491460923342184218035706888008750043977755113263 + + + 0 + + + ( 0 |-> 4321 ) + + + .Map + + + .Map + + + 1 + + ... + ) ) + + ... + + + ... + + + true + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + .List + + + false + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -291,6 +1244,6 @@ module SUMMARY-TEST%CONSTRUCTORTEST.INIT:0 andBool ( MIXHASH_CELL:Int .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/ContractFieldTest.testEscrowToken().cse.expected b/src/tests/integration/test-data/show/ContractFieldTest.testEscrowToken().cse.expected index 4c118ab1c..9ac9125a9 100644 --- a/src/tests/integration/test-data/show/ContractFieldTest.testEscrowToken().cse.expected +++ b/src/tests/integration/test-data/show/ContractFieldTest.testEscrowToken().cse.expected @@ -306,6 +306,29 @@ module SUMMARY-TEST%CONTRACTFIELDTEST.TESTESCROWTOKEN():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/Enum.enum_argument_range(uint8).cse.expected b/src/tests/integration/test-data/show/Enum.enum_argument_range(uint8).cse.expected index 479e8cb2a..2a7b9c8bf 100644 --- a/src/tests/integration/test-data/show/Enum.enum_argument_range(uint8).cse.expected +++ b/src/tests/integration/test-data/show/Enum.enum_argument_range(uint8).cse.expected @@ -187,6 +187,29 @@ module SUMMARY-TEST%ENUM.ENUM-ARGUMENT-RANGE(UINT8):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... diff --git a/src/tests/integration/test-data/show/Enum.enum_storage_range().cse.expected b/src/tests/integration/test-data/show/Enum.enum_storage_range().cse.expected index 458a5fc13..54e4523b4 100644 --- a/src/tests/integration/test-data/show/Enum.enum_storage_range().cse.expected +++ b/src/tests/integration/test-data/show/Enum.enum_storage_range().cse.expected @@ -71,7 +71,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 134 +┃ ┃ ┃ ┃ ├─ 126 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -80,7 +80,7 @@ ┃ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ ┃ └─ 98 (leaf, pending) +┃ ┃ ┃ ┃ └─ 101 (leaf, pending) ┃ ┃ ┃ ┃ k: #consoleLog 1756313567 b"" ~> #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -97,7 +97,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 154 +┃ ┃ ┃ ┃ ├─ 148 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -106,7 +106,7 @@ ┃ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 99 (leaf, pending) +┃ ┃ ┃ ┃ └─ 104 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -118,7 +118,7 @@ ┃ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 155 +┃ ┃ ┃ ├─ 149 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -127,7 +127,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 100 (leaf, pending) +┃ ┃ ┃ └─ 105 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -154,7 +154,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 136 +┃ ┃ ┃ ┃ ├─ 128 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -163,7 +163,7 @@ ┃ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ ┃ └─ 101 (leaf, pending) +┃ ┃ ┃ ┃ └─ 98 (leaf, pending) ┃ ┃ ┃ ┃ k: #consoleLog 1756313567 b"" ~> #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -180,7 +180,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 156 +┃ ┃ ┃ ┃ ├─ 146 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -189,7 +189,7 @@ ┃ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 102 (leaf, pending) +┃ ┃ ┃ ┃ └─ 99 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -201,7 +201,7 @@ ┃ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 157 +┃ ┃ ┃ ├─ 147 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -210,7 +210,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 103 (leaf, pending) +┃ ┃ ┃ └─ 100 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -231,7 +231,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 39 (split) +┃ ┃ ┃ ├─ 42 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -248,7 +248,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 142 +┃ ┃ ┃ ┃ ├─ 138 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -257,7 +257,7 @@ ┃ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 104 (leaf, pending) +┃ ┃ ┃ ┃ └─ 111 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -269,7 +269,7 @@ ┃ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 143 +┃ ┃ ┃ ├─ 139 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -278,7 +278,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 105 (leaf, pending) +┃ ┃ ┃ └─ 112 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -288,7 +288,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 40 +┃ ┃ ├─ 43 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -299,7 +299,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 66 +┃ ┃ ┃ ├─ 70 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -308,7 +308,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 106 (leaf, pending) +┃ ┃ ┃ └─ 113 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -318,7 +318,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 67 +┃ ┃ ├─ 71 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -329,7 +329,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 107 (leaf, pending) +┃ ┃ ┃ └─ 114 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -339,7 +339,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 108 (leaf, pending) +┃ ┃ └─ 115 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 145 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -374,7 +374,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 41 (split) +┃ ┃ ┃ ├─ 39 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -391,7 +391,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 144 +┃ ┃ ┃ ┃ ├─ 134 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -400,7 +400,7 @@ ┃ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 109 (leaf, pending) +┃ ┃ ┃ ┃ └─ 106 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -412,7 +412,7 @@ ┃ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 145 +┃ ┃ ┃ ├─ 135 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -421,7 +421,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 110 (leaf, pending) +┃ ┃ ┃ └─ 107 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -431,7 +431,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 42 (split) +┃ ┃ ┃ ├─ 40 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -448,7 +448,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 146 +┃ ┃ ┃ ┃ ├─ 136 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -457,7 +457,7 @@ ┃ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 111 (leaf, pending) +┃ ┃ ┃ ┃ └─ 102 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -469,7 +469,7 @@ ┃ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 147 +┃ ┃ ┃ ├─ 137 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -478,7 +478,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 112 (leaf, pending) +┃ ┃ ┃ └─ 103 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -488,7 +488,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 43 +┃ ┃ ├─ 41 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -499,7 +499,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 70 +┃ ┃ ┃ ├─ 67 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -508,7 +508,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 113 (leaf, pending) +┃ ┃ ┃ └─ 108 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -518,7 +518,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 71 +┃ ┃ ├─ 68 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -529,7 +529,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 114 (leaf, pending) +┃ ┃ ┃ └─ 109 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -539,7 +539,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 115 (leaf, pending) +┃ ┃ └─ 110 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 145 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -554,101 +554,7 @@ ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ENUM_ID:Int ) ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 26 -┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 132 ~> #execute ~ ... -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ ├─ 44 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 72 -┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... -┃ ┃ ┃ │ pc: 145 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ ┃ │ -┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 116 (leaf, pending) -┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 73 -┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... -┃ ┃ ┃ │ pc: 145 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ ┃ │ -┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 117 (leaf, pending) -┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ ├─ 74 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 118 (leaf, pending) -┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 119 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ pc: 145 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ENUM_ID:Int ) -┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 45 +┃ ┃ ├─ 29 ┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 132 ~> #execute ~ ... ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -657,7 +563,7 @@ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ ┃ ┃ │ (1 step) -┃ ┃ ├─ 75 +┃ ┃ ├─ 48 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -668,7 +574,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 120 (leaf, pending) +┃ ┃ ┃ └─ 78 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -678,7 +584,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 121 (leaf, pending) +┃ ┃ ┃ └─ 79 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -688,7 +594,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 122 (leaf, pending) +┃ ┃ └─ 80 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 145 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -703,7 +609,7 @@ ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ENUM_ID:Int ) ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 76 +┃ ┃ ├─ 49 ┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 132 ~> #execute ~ ... ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -712,7 +618,7 @@ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ ┃ ┃ │ (1 step) -┃ ┃ └─ 123 (leaf, pending) +┃ ┃ └─ 81 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 145 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -727,7 +633,7 @@ ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ENUM_ID:Int ) ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ └─ 124 (leaf, pending) +┃ ┃ └─ 82 (leaf, pending) ┃ ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 132 ~> #execute ~ ... ┃ ┃ pc: 145 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -739,7 +645,7 @@ ┃ ┃ constraint: ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ │ -┃ └─ 125 (leaf, pending) +┃ └─ 83 (leaf, pending) ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 132 ~> #execute ~ ... ┃ pc: 145 ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -777,7 +683,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 126 +┃ ┃ ┃ ├─ 118 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -786,7 +692,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (6 steps) -┃ ┃ ┃ └─ 78 (leaf, pending) +┃ ┃ ┃ └─ 84 (leaf, pending) ┃ ┃ ┃ k: #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ~> #end ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -803,7 +709,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 148 +┃ ┃ ┃ ├─ 142 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -812,7 +718,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 79 (leaf, pending) +┃ ┃ ┃ └─ 88 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 1756313567 b"" ~> #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -829,7 +735,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 158 +┃ ┃ ┃ ├─ 152 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -838,7 +744,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 80 (leaf, pending) +┃ ┃ ┃ └─ 89 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -850,7 +756,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 159 +┃ ┃ ├─ 153 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -859,7 +765,7 @@ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 81 (leaf, pending) +┃ ┃ └─ 90 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 145 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -886,7 +792,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 128 +┃ ┃ ┃ ├─ 120 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -895,7 +801,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (6 steps) -┃ ┃ ┃ └─ 82 (leaf, pending) +┃ ┃ ┃ └─ 74 (leaf, pending) ┃ ┃ ┃ k: #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ~> #end ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -912,7 +818,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 150 +┃ ┃ ┃ ├─ 140 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -921,7 +827,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 83 (leaf, pending) +┃ ┃ ┃ └─ 75 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 1756313567 b"" ~> #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -938,7 +844,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 160 +┃ ┃ ┃ ├─ 150 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -947,7 +853,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 84 (leaf, pending) +┃ ┃ ┃ └─ 76 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -959,7 +865,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 161 +┃ ┃ ├─ 151 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -968,7 +874,7 @@ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 85 (leaf, pending) +┃ ┃ └─ 77 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 145 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -989,7 +895,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ ├─ 18 (split) +┃ ┃ ├─ 20 (split) ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1006,7 +912,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 130 +┃ ┃ ┃ ├─ 124 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1015,7 +921,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 86 (leaf, pending) +┃ ┃ ┃ └─ 85 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 1756313567 b"" ~> #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1032,7 +938,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 152 +┃ ┃ ┃ ├─ 144 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1041,7 +947,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 87 (leaf, pending) +┃ ┃ ┃ └─ 86 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1053,7 +959,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 153 +┃ ┃ ├─ 145 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1062,7 +968,7 @@ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 88 (leaf, pending) +┃ ┃ └─ 87 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 145 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1072,7 +978,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ ├─ 19 +┃ ├─ 21 ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ │ pc: 145 ┃ │ callDepth: DEPTH_CELL:Int @@ -1083,7 +989,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ ├─ 33 (split) +┃ ┃ ├─ 35 (split) ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1100,7 +1006,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 138 +┃ ┃ ┃ ├─ 132 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1109,7 +1015,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 89 (leaf, pending) +┃ ┃ ┃ └─ 93 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1121,7 +1027,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 139 +┃ ┃ ├─ 133 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1130,7 +1036,7 @@ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 90 (leaf, pending) +┃ ┃ └─ 94 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 145 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1140,7 +1046,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ ├─ 34 +┃ ├─ 36 ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ │ pc: 145 ┃ │ callDepth: DEPTH_CELL:Int @@ -1151,7 +1057,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ ├─ 56 +┃ ┃ ├─ 59 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1160,7 +1066,7 @@ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 91 (leaf, pending) +┃ ┃ └─ 95 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 145 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1170,7 +1076,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ ├─ 57 +┃ ├─ 60 ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ │ pc: 145 ┃ │ callDepth: DEPTH_CELL:Int @@ -1181,7 +1087,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ └─ 92 (leaf, pending) +┃ ┃ └─ 96 (leaf, pending) ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ pc: 145 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1191,7 +1097,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ └─ 93 (leaf, pending) +┃ └─ 97 (leaf, pending) ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ pc: 145 ┃ callDepth: DEPTH_CELL:Int @@ -1221,7 +1127,7 @@ ┃ (1 step) ┣━━┓ ┃ │ - ┃ ├─ 20 (split) + ┃ ├─ 18 (split) ┃ │ k: #consoleLog 1756313567 b"" ~> #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ │ pc: 145 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1234,7 +1140,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ 0 ==Int ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1242,20 +1148,19 @@ ┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ - ┃ ┃ │ (189 steps) - ┃ ┃ └─ 94 (leaf, pending) - ┃ ┃ k: JUMPI 520 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s CONTINUATION:K + ┃ ┃ pc: 465 ┃ ┃ callDepth: CALLDEPTH_CELL:Int - ┃ ┃ statusCode: STATUSCODE:StatusCode - ┃ ┃ src: lib/forge-std/src/StdInvariant.sol:90:90 + ┃ ┃ statusCode: EVMC_REVERT ┃ ┃ method: test%Enum.enum_storage_range() ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ constraint: ┃ ┃ ( notBool 0 ==Int ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ │ pc: 145 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1263,18 +1168,18 @@ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 ┃ │ method: test%Enum.enum_storage_range() ┃ │ - ┃ │ (189 steps) - ┃ └─ 95 (leaf, pending) - ┃ k: JUMPI 520 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s CONTINUATION:K + ┃ pc: 519 ┃ callDepth: CALLDEPTH_CELL:Int - ┃ statusCode: STATUSCODE:StatusCode + ┃ statusCode: EVMC_REVERT ┃ src: lib/forge-std/src/StdInvariant.sol:90:90 ┃ method: test%Enum.enum_storage_range() ┃ ┗━━┓ │ - ├─ 21 (split) + ├─ 19 (split) │ k: #accessAccounts C_ENUM_MEMBER_CONTRACT_ID:Int ~> #checkCall C_ENUM_ID:Int 0 ~> # ... │ pc: 145 │ callDepth: CALLDEPTH_CELL:Int @@ -1287,7 +1192,7 @@ ┃ ┃ constraint: ┃ ┃ CALLDEPTH_CELL:Int #checkCall C_ENUM_ID:Int 0 ~> # ... ┃ │ pc: 145 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1296,7 +1201,7 @@ ┃ │ method: test%Enum.enum_storage_range() ┃ │ ┃ │ (973 steps) - ┃ └─ 96 (leaf, pending) + ┃ └─ 91 (leaf, pending) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 68 ┃ callDepth: CALLDEPTH_CELL:Int @@ -1308,7 +1213,7 @@ ┃ constraint: ┃ 1024 <=Int CALLDEPTH_CELL:Int │ - ├─ 133 + ├─ 123 │ k: #accessAccounts C_ENUM_MEMBER_CONTRACT_ID:Int ~> #checkCall C_ENUM_ID:Int 0 ~> # ... │ pc: 145 │ callDepth: CALLDEPTH_CELL:Int @@ -1317,7 +1222,7 @@ │ method: test%Enum.enum_storage_range() │ │ (79 steps) - └─ 97 (leaf, pending) + └─ 92 (leaf, pending) k: #halt ~> CONTINUATION:K pc: 161 callDepth: CALLDEPTH_CELL:Int @@ -1481,6 +1386,29 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -1704,6 +1632,29 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -1931,6 +1882,29 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2162,6 +2136,29 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2221,7 +2218,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ensures NEWCALLER_CELL:Account ~> .K =/=K C_ENUM_ID:Int ~> .K [priority(20), label(BASIC-BLOCK-14-TO-25)] - rule [BASIC-BLOCK-26-TO-44]: + rule [BASIC-BLOCK-29-TO-48]: ( #next [ STATICCALL ] ~> .K => #injectPrank @@ -2393,6 +2390,29 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2450,9 +2470,9 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 )) )))))))))))))))))))))))))))))))))))))))) ensures NEWCALLER_CELL:Account ~> .K =/=K C_ENUM_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-26-TO-44)] + [priority(20), label(BASIC-BLOCK-29-TO-48)] - rule [BASIC-BLOCK-45-TO-75]: + rule [BASIC-BLOCK-49-TO-81]: ( #next [ STATICCALL ] ~> .K => #injectPrank @@ -2624,6 +2644,29 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2681,9 +2724,9 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 )) )))))))))))))))))))))))))))))))))))))))) ensures NEWCALLER_CELL:Account ~> .K =/=K C_ENUM_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-45-TO-75)] + [priority(20), label(BASIC-BLOCK-49-TO-81)] - rule [BASIC-BLOCK-56-TO-91]: + rule [BASIC-BLOCK-59-TO-95]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -2856,6 +2899,29 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2916,9 +2982,9 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-56-TO-91)] + [priority(20), label(BASIC-BLOCK-59-TO-95)] - rule [BASIC-BLOCK-66-TO-106]: + rule [BASIC-BLOCK-67-TO-108]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -2980,7 +3046,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG1:Int + NOG0:Int @@ -3048,7 +3114,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG1:Int + NOG0:Int true @@ -3093,12 +3159,35 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -3120,8 +3209,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( CALLER_ID:Int @@ -3217,7 +3305,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG0:Int + NOG1:Int @@ -3285,7 +3373,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG0:Int + NOG1:Int true @@ -3330,12 +3418,35 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -3357,7 +3468,8 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( CALLER_ID:Int + rule [BASIC-BLOCK-132-TO-93]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -3439,7 +3549,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int C_ENUM_ID:Int @@ -3453,7 +3563,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG:Int + NOG1:Int @@ -3521,19 +3631,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG:Int + NOG1:Int true - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -3566,21 +3676,44 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -3623,17 +3761,16 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-133-TO-94]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -3674,7 +3811,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int C_ENUM_ID:Int @@ -3688,7 +3825,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - ORIGIN_ID:Int + NOG1:Int @@ -3756,19 +3893,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - .Account + NOG1:Int true - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -3801,21 +3938,43 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account + andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + rule [BASIC-BLOCK-134-TO-106]: - ( #next [ STATICCALL ] ~> .K => #injectPrank - ~> #next [ STATICCALL ] - ~> #endPrank ) + ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 + ~> #pc [ STATICCALL ] ) + ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ~> #execute @@ -3885,7 +4046,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - C_ENUM_ID:Int + NCL:Int CALLER_ID:Int @@ -3897,7 +4058,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( 0 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 128 : ( 4 : ( 128 : ( 32 : ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) + ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" @@ -3923,7 +4084,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - ORIGIN_ID:Int + NOG:Int @@ -3988,13 +4149,16 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - NEWCALLER_CELL:Account + NCL:Int + + NOG:Int + - ( ACTIVE_CELL:Bool => true ) + true - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) + EXPECTEDDEPTH_CELL:Int ... @@ -4033,21 +4197,46 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... - requires ( ACTIVE_CELL:Bool + requires ( _ACTIVE_CELL:Bool + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( NEWCALLER_CELL:Account =/=K C_ENUM_ID:Int - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -4088,16 +4282,17 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 .K =/=K C_ENUM_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-76-TO-123)] + ))))))))))))))))))))))))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-134-TO-106)] - rule [BASIC-BLOCK-138-TO-89]: + rule [BASIC-BLOCK-135-TO-107]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -4138,7 +4333,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int C_ENUM_ID:Int @@ -4152,7 +4347,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG1:Int + NOG:Int @@ -4220,19 +4415,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG1:Int + NOG:Int true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -4265,21 +4460,45 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) + andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -4327,16 +4540,17 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-136-TO-102]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -4377,7 +4591,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int C_ENUM_ID:Int @@ -4391,7 +4605,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG1:Int + ORIGIN_ID:Int @@ -4459,19 +4673,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG1:Int + .Account true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -4504,20 +4718,46 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -4561,20 +4803,17 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-137-TO-103]: - ( #consoleLog 1756313567 b"" - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] => JUMPI 520 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) + ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 + ~> #pc [ STATICCALL ] ) + ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -4589,12 +4828,9 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - - OUTPUT_CELL:Bytes - - C_ENUM_ID:Int + NCL:Int CALLER_ID:Int @@ -4606,10 +4842,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 132 => 0 ) : ( ( 1756313567 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 5 => 198 ) : ( ( 67 => 5 ) : ( ( 1664546334 => 67 ) : ( .WordStack => ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) + ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -4618,7 +4854,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - CALLDEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int C_ENUM_ID:Int @@ -4655,32 +4891,32 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - #address ( FoundryConsole ) + C_ENUM_ID:Int - C_ENUM_MEMBER_CONTRACT_BAL:Int + C_ENUM_BAL:Int - C_ENUM_MEMBER_CONTRACT_STORAGE:Map + ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) + C_ENUM_STORAGE:Map ) - C_ENUM_MEMBER_CONTRACT_NONCE:Int + C_ENUM_NONCE:Int ... ( - C_ENUM_ID:Int + C_ENUM_MEMBER_CONTRACT_ID:Int - C_ENUM_BAL:Int + C_ENUM_MEMBER_CONTRACT_BAL:Int - ( ( 0 |-> #address ( FoundryConsole ) ) - C_ENUM_STORAGE:Map ) + C_ENUM_MEMBER_CONTRACT_STORAGE:Map - C_ENUM_NONCE:Int + C_ENUM_MEMBER_CONTRACT_NONCE:Int ... @@ -4697,19 +4933,22 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - NEWCALLER_CELL:Account + NCL:Int + + .Account + - ACTIVE_CELL:Bool + true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -4742,20 +4981,50 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... - requires ( _C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + requires ( _ACTIVE_CELL:Bool + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 C_ENUM_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( 0 ==Int ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s - #address ( FoundryConsole ) + C_ENUM_MEMBER_CONTRACT_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-138-TO-111]: - ( #consoleLog 1756313567 b"" - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] => JUMPI 520 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) + ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 + ~> #pc [ STATICCALL ] ) + ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -4817,12 +5086,9 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - - OUTPUT_CELL:Bytes - - C_ENUM_ID:Int + NCL:Int CALLER_ID:Int @@ -4834,10 +5100,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 132 => 0 ) : ( ( 1756313567 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 5 => 198 ) : ( ( 67 => 5 ) : ( ( 1664546334 => 67 ) : ( .WordStack => ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) + ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -4846,7 +5112,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - CALLDEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int C_ENUM_ID:Int @@ -4860,7 +5126,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - ORIGIN_ID:Int + NOG0:Int @@ -4883,32 +5149,32 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - #address ( FoundryConsole ) + C_ENUM_ID:Int - C_ENUM_MEMBER_CONTRACT_BAL:Int + C_ENUM_BAL:Int - C_ENUM_MEMBER_CONTRACT_STORAGE:Map + ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) + C_ENUM_STORAGE:Map ) - C_ENUM_MEMBER_CONTRACT_NONCE:Int + C_ENUM_NONCE:Int ... ( - C_ENUM_ID:Int + C_ENUM_MEMBER_CONTRACT_ID:Int - C_ENUM_BAL:Int + C_ENUM_MEMBER_CONTRACT_BAL:Int - ( ( 0 |-> #address ( FoundryConsole ) ) - C_ENUM_STORAGE:Map ) + C_ENUM_MEMBER_CONTRACT_STORAGE:Map - C_ENUM_NONCE:Int + C_ENUM_MEMBER_CONTRACT_NONCE:Int ... @@ -4925,19 +5191,22 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - NEWCALLER_CELL:Account + NCL:Int + + NOG0:Int + - ACTIVE_CELL:Bool + true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -4970,20 +5239,51 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... - requires ( _C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + requires ( _ACTIVE_CELL:Bool + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) C_ENUM_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( notBool - #address ( FoundryConsole ) + C_ENUM_MEMBER_CONTRACT_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-139-TO-112]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -5196,6 +5503,29 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -5205,14 +5535,13 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) + andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -5259,17 +5584,15 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-144-TO-86]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -5310,7 +5633,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int C_ENUM_ID:Int @@ -5398,13 +5721,13 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 true - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -5437,21 +5760,44 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -5495,17 +5844,16 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-145-TO-87]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -5546,7 +5894,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int C_ENUM_ID:Int @@ -5560,7 +5908,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG:Int + NOG0:Int @@ -5628,19 +5976,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG:Int + NOG0:Int true - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -5673,23 +6021,43 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) + andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -5735,10 +6100,11 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-146-TO-99]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -5800,7 +6166,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG:Int + ORIGIN_ID:Int @@ -5868,7 +6234,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG:Int + .Account true @@ -5913,21 +6279,46 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -5970,10 +6364,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-147-TO-100]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -6148,6 +6542,29 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -6156,7 +6573,6 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int @@ -6164,7 +6580,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) + andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -6210,10 +6622,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-148-TO-104]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -6275,7 +6687,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - ORIGIN_ID:Int + NOG:Int @@ -6343,7 +6755,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - .Account + NOG:Int true @@ -6388,21 +6800,46 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -6445,15 +6885,17 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-149-TO-105]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -6494,7 +6936,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int C_ENUM_ID:Int @@ -6508,7 +6950,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG0:Int + NOG:Int @@ -6576,19 +7018,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG0:Int + NOG:Int true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -6621,21 +7063,44 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -6682,11 +7143,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-150-TO-76]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -6746,7 +7206,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG0:Int + ORIGIN_ID:Int @@ -6814,7 +7274,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG0:Int + .Account true @@ -6859,19 +7319,44 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -6916,17 +7403,15 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 orBool ( 10 + rule [BASIC-BLOCK-151-TO-77]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -6967,7 +7452,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int C_ENUM_ID:Int @@ -6981,7 +7466,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG:Int + ORIGIN_ID:Int @@ -7049,19 +7534,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG:Int + .Account true - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -7094,23 +7579,42 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -7156,17 +7657,16 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-152-TO-89]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -7207,7 +7707,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int C_ENUM_ID:Int @@ -7295,13 +7795,13 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 true - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -7334,21 +7834,44 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -7391,17 +7917,16 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-153-TO-90]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -7442,7 +7967,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int C_ENUM_ID:Int @@ -7456,7 +7981,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - ORIGIN_ID:Int + NOG:Int @@ -7524,19 +8049,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - .Account + NOG:Int true - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -7569,23 +8094,42 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -7631,17 +8172,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-120-TO-74]: - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 + ( #next [ STATICCALL ] ~> .K => #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ) ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -7670,7 +8213,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) + ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" @@ -7682,7 +8225,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int C_ENUM_ID:Int @@ -7719,32 +8262,45 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - C_ENUM_ID:Int + ( C_ENUM_ID:Int => #address ( FoundryConsole ) ) - C_ENUM_BAL:Int + ( C_ENUM_BAL:Int => C_ENUM_MEMBER_CONTRACT_BAL:Int ) - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) + ( ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) + C_ENUM_STORAGE:Map ) => C_ENUM_MEMBER_CONTRACT_STORAGE:Map ) + + ( C_ENUM_ORIGSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map ) + + + ( C_ENUM_TRANSIENTSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map ) + - C_ENUM_NONCE:Int + ( C_ENUM_NONCE:Int => C_ENUM_MEMBER_CONTRACT_NONCE:Int ) ... ( - C_ENUM_MEMBER_CONTRACT_ID:Int + ( C_ENUM_MEMBER_CONTRACT_ID:Int => C_ENUM_ID:Int ) - C_ENUM_MEMBER_CONTRACT_BAL:Int + ( C_ENUM_MEMBER_CONTRACT_BAL:Int => C_ENUM_BAL:Int ) - C_ENUM_MEMBER_CONTRACT_STORAGE:Map + ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map => ( ( 0 |-> #address ( FoundryConsole ) ) + C_ENUM_STORAGE:Map ) ) + + ( C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map => C_ENUM_ORIGSTORAGE:Map ) + + + ( C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map => C_ENUM_TRANSIENTSTORAGE:Map ) + - C_ENUM_MEMBER_CONTRACT_NONCE:Int + ( C_ENUM_MEMBER_CONTRACT_NONCE:Int => C_ENUM_NONCE:Int ) ... @@ -7770,13 +8326,13 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 true - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -7809,14 +8365,36 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int @@ -7824,7 +8402,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -7866,13 +8448,17 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-118-TO-84]: - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 + ( #next [ STATICCALL ] ~> .K => #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ) ~> #endPrank ~> #execute @@ -7903,7 +8489,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) + ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" @@ -7952,32 +8538,45 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - C_ENUM_ID:Int + ( C_ENUM_ID:Int => #address ( FoundryConsole ) ) - C_ENUM_BAL:Int + ( C_ENUM_BAL:Int => C_ENUM_MEMBER_CONTRACT_BAL:Int ) - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) + ( ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) + C_ENUM_STORAGE:Map ) => C_ENUM_MEMBER_CONTRACT_STORAGE:Map ) + + ( C_ENUM_ORIGSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map ) + + + ( C_ENUM_TRANSIENTSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map ) + - C_ENUM_NONCE:Int + ( C_ENUM_NONCE:Int => C_ENUM_MEMBER_CONTRACT_NONCE:Int ) ... ( - C_ENUM_MEMBER_CONTRACT_ID:Int + ( C_ENUM_MEMBER_CONTRACT_ID:Int => C_ENUM_ID:Int ) - C_ENUM_MEMBER_CONTRACT_BAL:Int + ( C_ENUM_MEMBER_CONTRACT_BAL:Int => C_ENUM_BAL:Int ) - C_ENUM_MEMBER_CONTRACT_STORAGE:Map + ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map => ( ( 0 |-> #address ( FoundryConsole ) ) + C_ENUM_STORAGE:Map ) ) + + ( C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map => C_ENUM_ORIGSTORAGE:Map ) + + + ( C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map => C_ENUM_TRANSIENTSTORAGE:Map ) + - C_ENUM_MEMBER_CONTRACT_NONCE:Int + ( C_ENUM_MEMBER_CONTRACT_NONCE:Int => C_ENUM_NONCE:Int ) ... @@ -8042,6 +8641,29 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -8057,7 +8679,6 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + rule [BASIC-BLOCK-140-TO-75]: - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 + ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ) ~> #endPrank ~> #execute @@ -8140,7 +8766,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) + ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" @@ -8166,7 +8792,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG:Int + ORIGIN_ID:Int @@ -8189,32 +8815,45 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - C_ENUM_ID:Int + ( C_ENUM_ID:Int => #address ( FoundryConsole ) ) - C_ENUM_BAL:Int + ( C_ENUM_BAL:Int => C_ENUM_MEMBER_CONTRACT_BAL:Int ) - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) + ( ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) + C_ENUM_STORAGE:Map ) => C_ENUM_MEMBER_CONTRACT_STORAGE:Map ) + + ( C_ENUM_ORIGSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map ) + + + ( C_ENUM_TRANSIENTSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map ) + - C_ENUM_NONCE:Int + ( C_ENUM_NONCE:Int => C_ENUM_MEMBER_CONTRACT_NONCE:Int ) ... ( - C_ENUM_MEMBER_CONTRACT_ID:Int + ( C_ENUM_MEMBER_CONTRACT_ID:Int => C_ENUM_ID:Int ) - C_ENUM_MEMBER_CONTRACT_BAL:Int + ( C_ENUM_MEMBER_CONTRACT_BAL:Int => C_ENUM_BAL:Int ) - C_ENUM_MEMBER_CONTRACT_STORAGE:Map + ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map => ( ( 0 |-> #address ( FoundryConsole ) ) + C_ENUM_STORAGE:Map ) ) + + ( C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map => C_ENUM_ORIGSTORAGE:Map ) + + + ( C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map => C_ENUM_TRANSIENTSTORAGE:Map ) + - C_ENUM_MEMBER_CONTRACT_NONCE:Int + ( C_ENUM_MEMBER_CONTRACT_NONCE:Int => C_ENUM_NONCE:Int ) ... @@ -8234,7 +8873,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG:Int + .Account true @@ -8279,19 +8918,44 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -8335,13 +9002,17 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 orBool ( 10 + rule [BASIC-BLOCK-124-TO-85]: - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 + ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ) ~> #endPrank ~> #execute @@ -8372,7 +9043,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) + ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" @@ -8398,7 +9069,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - ORIGIN_ID:Int + NOG0:Int @@ -8421,32 +9092,45 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - C_ENUM_ID:Int + ( C_ENUM_ID:Int => #address ( FoundryConsole ) ) - C_ENUM_BAL:Int + ( C_ENUM_BAL:Int => C_ENUM_MEMBER_CONTRACT_BAL:Int ) - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) + ( ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) + C_ENUM_STORAGE:Map ) => C_ENUM_MEMBER_CONTRACT_STORAGE:Map ) + + ( C_ENUM_ORIGSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map ) + + + ( C_ENUM_TRANSIENTSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map ) + - C_ENUM_NONCE:Int + ( C_ENUM_NONCE:Int => C_ENUM_MEMBER_CONTRACT_NONCE:Int ) ... ( - C_ENUM_MEMBER_CONTRACT_ID:Int + ( C_ENUM_MEMBER_CONTRACT_ID:Int => C_ENUM_ID:Int ) - C_ENUM_MEMBER_CONTRACT_BAL:Int + ( C_ENUM_MEMBER_CONTRACT_BAL:Int => C_ENUM_BAL:Int ) - C_ENUM_MEMBER_CONTRACT_STORAGE:Map + ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map => ( ( 0 |-> #address ( FoundryConsole ) ) + C_ENUM_STORAGE:Map ) ) + + ( C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map => C_ENUM_ORIGSTORAGE:Map ) + + + ( C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map => C_ENUM_TRANSIENTSTORAGE:Map ) + - C_ENUM_MEMBER_CONTRACT_NONCE:Int + ( C_ENUM_MEMBER_CONTRACT_NONCE:Int => C_ENUM_NONCE:Int ) ... @@ -8466,7 +9150,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - .Account + NOG0:Int true @@ -8511,14 +9195,37 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -8526,7 +9233,6 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + rule [BASIC-BLOCK-142-TO-88]: - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 + ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ) ~> #endPrank ~> #execute @@ -8609,7 +9321,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) + ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" @@ -8635,7 +9347,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - ORIGIN_ID:Int + NOG:Int @@ -8658,32 +9370,45 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - C_ENUM_ID:Int + ( C_ENUM_ID:Int => #address ( FoundryConsole ) ) - C_ENUM_BAL:Int + ( C_ENUM_BAL:Int => C_ENUM_MEMBER_CONTRACT_BAL:Int ) - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) + ( ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) + C_ENUM_STORAGE:Map ) => C_ENUM_MEMBER_CONTRACT_STORAGE:Map ) + + ( C_ENUM_ORIGSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map ) + + + ( C_ENUM_TRANSIENTSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map ) + - C_ENUM_NONCE:Int + ( C_ENUM_NONCE:Int => C_ENUM_MEMBER_CONTRACT_NONCE:Int ) ... ( - C_ENUM_MEMBER_CONTRACT_ID:Int + ( C_ENUM_MEMBER_CONTRACT_ID:Int => C_ENUM_ID:Int ) - C_ENUM_MEMBER_CONTRACT_BAL:Int + ( C_ENUM_MEMBER_CONTRACT_BAL:Int => C_ENUM_BAL:Int ) - C_ENUM_MEMBER_CONTRACT_STORAGE:Map + ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map => ( ( 0 |-> #address ( FoundryConsole ) ) + C_ENUM_STORAGE:Map ) ) + + ( C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map => C_ENUM_ORIGSTORAGE:Map ) + + + ( C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map => C_ENUM_TRANSIENTSTORAGE:Map ) + - C_ENUM_MEMBER_CONTRACT_NONCE:Int + ( C_ENUM_MEMBER_CONTRACT_NONCE:Int => C_ENUM_NONCE:Int ) ... @@ -8703,7 +9428,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - .Account + NOG:Int true @@ -8748,19 +9473,44 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -8804,19 +9557,18 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 orBool ( 10 + rule [BASIC-BLOCK-122-TO-91]: - ( #next [ STATICCALL ] ~> .K => #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute + ( #accessAccounts C_ENUM_MEMBER_CONTRACT_ID:Int + ~> #checkCall C_ENUM_ID:Int 0 + ~> #call C_ENUM_ID:Int C_ENUM_MEMBER_CONTRACT_ID:Int C_ENUM_MEMBER_CONTRACT_ID:Int 0 0 b"h\xaf7\xdf" true + ~> #return 128 32 + ~> #pc [ STATICCALL ] + ~> #execute => #halt ~> .K ) ~> _CONTINUATION:K @@ -8830,9 +9582,18 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 + + ( _OUTPUT_CELL:Bytes => b"" ) + + + ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) + + + ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_ENUM_ID:Int ) |Set SetItem ( C_ENUM_MEMBER_CONTRACT_ID:Int ) ) + - NCL:Int + C_ENUM_ID:Int CALLER_ID:Int @@ -8844,10 +9605,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) + ( ( 132 => 1664546334 ) : ( ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) => .WordStack ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) ) +Bytes #buf ( 32 , #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) ) ) 0 @@ -8856,7 +9617,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - DEPTH_CELL:Int + CALLDEPTH_CELL:Int C_ENUM_ID:Int @@ -8867,10 +9628,13 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 + + ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ENUM_MEMBER_CONTRACT_ID:Int ) |Set SetItem ( C_ENUM_ID:Int ) ) + ... - NOG:Int + ORIGIN_ID:Int @@ -8893,45 +9657,32 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - ( C_ENUM_ID:Int => #address ( FoundryConsole ) ) + C_ENUM_ID:Int - ( C_ENUM_BAL:Int => C_ENUM_MEMBER_CONTRACT_BAL:Int ) + C_ENUM_BAL:Int - ( ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) => C_ENUM_MEMBER_CONTRACT_STORAGE:Map ) + ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) + C_ENUM_STORAGE:Map ) - - ( C_ENUM_ORIGSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map ) - - - ( C_ENUM_TRANSIENTSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map ) - - ( C_ENUM_NONCE:Int => C_ENUM_MEMBER_CONTRACT_NONCE:Int ) + C_ENUM_NONCE:Int ... ( - ( C_ENUM_MEMBER_CONTRACT_ID:Int => C_ENUM_ID:Int ) + C_ENUM_MEMBER_CONTRACT_ID:Int - ( C_ENUM_MEMBER_CONTRACT_BAL:Int => C_ENUM_BAL:Int ) + C_ENUM_MEMBER_CONTRACT_BAL:Int - ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map => ( ( 0 |-> #address ( FoundryConsole ) ) - C_ENUM_STORAGE:Map ) ) + C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - ( C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map => C_ENUM_ORIGSTORAGE:Map ) - - - ( C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map => C_ENUM_TRANSIENTSTORAGE:Map ) - - ( C_ENUM_MEMBER_CONTRACT_NONCE:Int => C_ENUM_NONCE:Int ) + C_ENUM_MEMBER_CONTRACT_NONCE:Int ... @@ -8948,13 +9699,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - NCL:Int + NEWCALLER_CELL:Account - - NOG:Int - - true + ACTIVE_CELL:Bool DEPTH_CELL:Int @@ -8996,21 +9744,39 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( 0 <=Int CALLER_ID:Int + requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) + andBool ( CALLDEPTH_CELL:Int - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -9056,20 +9818,23 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) ) ) ) + ))))))))))))))))))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-122-TO-91)] - rule [BASIC-BLOCK-128-TO-82]: + rule [BASIC-BLOCK-123-TO-92]: - ( #next [ STATICCALL ] ~> .K => #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute + ( #accessAccounts C_ENUM_MEMBER_CONTRACT_ID:Int + ~> #checkCall C_ENUM_ID:Int 0 + ~> #call C_ENUM_ID:Int C_ENUM_MEMBER_CONTRACT_ID:Int C_ENUM_MEMBER_CONTRACT_ID:Int 0 0 b"h\xaf7\xdf" true + ~> #return 128 32 + ~> #pc [ STATICCALL ] + ~> #execute => #halt ~> .K ) ~> _CONTINUATION:K @@ -9083,9 +9848,15 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 + + ( _OUTPUT_CELL:Bytes => b"" ) + + + ( _STATUSCODE:StatusCode => EVMC_REVERT ) + - NCL:Int + C_ENUM_ID:Int CALLER_ID:Int @@ -9097,7 +9868,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) + ( ( 132 => 1 ) : ( ( 1756313567 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 5 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 67 => 5 ) : ( ( 1664546334 => 67 ) : ( .WordStack => ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" @@ -9109,7 +9880,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - DEPTH_CELL:Int + CALLDEPTH_CELL:Int C_ENUM_ID:Int @@ -9120,6 +9891,9 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 + + ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ENUM_MEMBER_CONTRACT_ID:Int ) ) + ... @@ -9146,45 +9920,32 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - ( C_ENUM_ID:Int => #address ( FoundryConsole ) ) + C_ENUM_ID:Int - ( C_ENUM_BAL:Int => C_ENUM_MEMBER_CONTRACT_BAL:Int ) + C_ENUM_BAL:Int - ( ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) => C_ENUM_MEMBER_CONTRACT_STORAGE:Map ) + ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) + C_ENUM_STORAGE:Map ) - - ( C_ENUM_ORIGSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map ) - - - ( C_ENUM_TRANSIENTSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map ) - - ( C_ENUM_NONCE:Int => C_ENUM_MEMBER_CONTRACT_NONCE:Int ) + C_ENUM_NONCE:Int ... ( - ( C_ENUM_MEMBER_CONTRACT_ID:Int => C_ENUM_ID:Int ) + C_ENUM_MEMBER_CONTRACT_ID:Int - ( C_ENUM_MEMBER_CONTRACT_BAL:Int => C_ENUM_BAL:Int ) + C_ENUM_MEMBER_CONTRACT_BAL:Int - ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map => ( ( 0 |-> #address ( FoundryConsole ) ) - C_ENUM_STORAGE:Map ) ) + C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - ( C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map => C_ENUM_ORIGSTORAGE:Map ) - - - ( C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map => C_ENUM_TRANSIENTSTORAGE:Map ) - - ( C_ENUM_MEMBER_CONTRACT_NONCE:Int => C_ENUM_NONCE:Int ) + C_ENUM_MEMBER_CONTRACT_NONCE:Int ... @@ -9201,13 +9962,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - NCL:Int + NEWCALLER_CELL:Account - - .Account - - true + ACTIVE_CELL:Bool DEPTH_CELL:Int @@ -9249,21 +10007,39 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account - andBool ( 0 <=Int CALLER_ID:Int + requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) + andBool ( 1024 <=Int CALLDEPTH_CELL:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -9309,11 +10081,15 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) ) ) ) + ))))))))))))))))))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-123-TO-92)] - rule [BASIC-BLOCK-148-TO-79]: + rule [BASIC-BLOCK-128-TO-98]: ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" @@ -9323,6 +10099,8 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ) ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -9363,7 +10141,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int C_ENUM_ID:Int @@ -9377,7 +10155,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG:Int + ORIGIN_ID:Int @@ -9458,19 +10236,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG:Int + .Account true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -9503,14 +10281,39 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -9518,7 +10321,6 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + rule [BASIC-BLOCK-126-TO-101]: ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" @@ -9577,6 +10379,8 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ) ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -9617,7 +10421,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int C_ENUM_ID:Int @@ -9631,7 +10435,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - ORIGIN_ID:Int + NOG:Int @@ -9712,19 +10516,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - .Account + NOG:Int true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -9757,14 +10561,39 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -9772,7 +10601,6 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + rule [BASIC-BLOCK-130-TO-116]: - ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" + ( #consoleLog 1756313567 b"" ~> #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #execute + ~> #pc [ STATICCALL ] + ~> #execute => #halt ~> .K ) ~> _CONTINUATION:K @@ -9845,9 +10672,15 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 + + ( OUTPUT_CELL:Bytes => b"" ) + + + ( _STATUSCODE:StatusCode => EVMC_REVERT ) + - NCL:Int + C_ENUM_ID:Int CALLER_ID:Int @@ -9859,10 +10692,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) + ( ( 132 => 47350120097113101904103772844726262947438265984446388056509121813378311913472 ) : ( ( 1756313567 => 495 ) : ( ( #address ( FoundryConsole ) => 47350120097113101904103772844726262947438265984446388056509121813378311913472 ) : ( ( 5 => 0 ) : ( ( 67 => 128 ) : ( ( 1664546334 => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( .WordStack => ( 198 : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -9871,7 +10704,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - DEPTH_CELL:Int + CALLDEPTH_CELL:Int C_ENUM_ID:Int @@ -9885,7 +10718,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG0:Int + ORIGIN_ID:Int @@ -9908,45 +10741,32 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - ( C_ENUM_ID:Int => #address ( FoundryConsole ) ) + #address ( FoundryConsole ) - ( C_ENUM_BAL:Int => C_ENUM_MEMBER_CONTRACT_BAL:Int ) + C_ENUM_MEMBER_CONTRACT_BAL:Int - ( ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) => C_ENUM_MEMBER_CONTRACT_STORAGE:Map ) + C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - ( C_ENUM_ORIGSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map ) - - - ( C_ENUM_TRANSIENTSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map ) - - ( C_ENUM_NONCE:Int => C_ENUM_MEMBER_CONTRACT_NONCE:Int ) + C_ENUM_MEMBER_CONTRACT_NONCE:Int ... ( - ( C_ENUM_MEMBER_CONTRACT_ID:Int => C_ENUM_ID:Int ) + C_ENUM_ID:Int - ( C_ENUM_MEMBER_CONTRACT_BAL:Int => C_ENUM_BAL:Int ) + C_ENUM_BAL:Int - ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map => ( ( 0 |-> #address ( FoundryConsole ) ) - C_ENUM_STORAGE:Map ) ) + ( ( 0 |-> #address ( FoundryConsole ) ) + C_ENUM_STORAGE:Map ) - - ( C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map => C_ENUM_ORIGSTORAGE:Map ) - - - ( C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map => C_ENUM_TRANSIENTSTORAGE:Map ) - - ( C_ENUM_MEMBER_CONTRACT_NONCE:Int => C_ENUM_NONCE:Int ) + C_ENUM_NONCE:Int ... @@ -9963,13 +10783,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - NCL:Int + NEWCALLER_CELL:Account - - NOG0:Int - - true + ACTIVE_CELL:Bool DEPTH_CELL:Int @@ -10011,26 +10828,43 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + requires ( _C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) C_ENUM_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + andBool ( 0 ==Int ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s - C_ENUM_MEMBER_CONTRACT_ID:Int + #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-131-TO-117]: - ( #accessAccounts C_ENUM_MEMBER_CONTRACT_ID:Int - ~> #checkCall C_ENUM_ID:Int 0 - ~> #call C_ENUM_ID:Int C_ENUM_MEMBER_CONTRACT_ID:Int C_ENUM_MEMBER_CONTRACT_ID:Int 0 0 b"h\xaf7\xdf" true - ~> #return 128 32 + ( #consoleLog 1756313567 b"" + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ~> #execute => #halt ~> .K ) ~> _CONTINUATION:K @@ -10099,14 +10926,11 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - ( _OUTPUT_CELL:Bytes => b"" ) + ( OUTPUT_CELL:Bytes => b"" ) - ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) + ( _STATUSCODE:StatusCode => EVMC_REVERT ) - - ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_ENUM_ID:Int ) |Set SetItem ( C_ENUM_MEMBER_CONTRACT_ID:Int ) ) - C_ENUM_ID:Int @@ -10121,10 +10945,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 132 => 1664546334 ) : ( ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) => .WordStack ) ) + ( ( 132 => 0 ) : ( ( 1756313567 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 5 => 198 ) : ( ( 67 => 5 ) : ( ( 1664546334 => 67 ) : ( .WordStack => ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) ) +Bytes #buf ( 32 , #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) ) ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -10144,9 +10968,6 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ENUM_MEMBER_CONTRACT_ID:Int ) |Set SetItem ( C_ENUM_ID:Int ) ) - ... @@ -10173,32 +10994,32 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - C_ENUM_ID:Int + #address ( FoundryConsole ) - C_ENUM_BAL:Int + C_ENUM_MEMBER_CONTRACT_BAL:Int - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) + C_ENUM_MEMBER_CONTRACT_STORAGE:Map - C_ENUM_NONCE:Int + C_ENUM_MEMBER_CONTRACT_NONCE:Int ... ( - C_ENUM_MEMBER_CONTRACT_ID:Int + C_ENUM_ID:Int - C_ENUM_MEMBER_CONTRACT_BAL:Int + C_ENUM_BAL:Int - C_ENUM_MEMBER_CONTRACT_STORAGE:Map + ( ( 0 |-> #address ( FoundryConsole ) ) + C_ENUM_STORAGE:Map ) - C_ENUM_MEMBER_CONTRACT_NONCE:Int + C_ENUM_NONCE:Int ... @@ -10260,21 +11081,43 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... - requires ( 0 <=Int CALLER_ID:Int + requires ( _C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( CALLDEPTH_CELL:Int C_ENUM_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int + #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) ) ) ) - ))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-132-TO-96)] - - rule [BASIC-BLOCK-133-TO-97]: - - - ( #accessAccounts C_ENUM_MEMBER_CONTRACT_ID:Int - ~> #checkCall C_ENUM_ID:Int 0 - ~> #call C_ENUM_ID:Int C_ENUM_MEMBER_CONTRACT_ID:Int C_ENUM_MEMBER_CONTRACT_ID:Int 0 0 b"h\xaf7\xdf" true - ~> #return 128 32 - ~> #pc [ STATICCALL ] - ~> #execute => #halt ~> .K ) - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - ( _OUTPUT_CELL:Bytes => b"" ) - - - ( _STATUSCODE:StatusCode => EVMC_REVERT ) - - - - C_ENUM_ID:Int - - - CALLER_ID:Int - - - b"c6\xf6\x1e" - - - 0 - - - ( ( 132 => 1 ) : ( ( 1756313567 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 5 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 67 => 5 ) : ( ( 1664546334 => 67 ) : ( .WordStack => ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - CALLDEPTH_CELL:Int - - - C_ENUM_ID:Int - - ... - - - - 0 - - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ENUM_MEMBER_CONTRACT_ID:Int ) ) - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - - MIXHASH_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_ENUM_ID:Int - - - C_ENUM_BAL:Int - - - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) - - - C_ENUM_NONCE:Int - - ... - - ( - - C_ENUM_MEMBER_CONTRACT_ID:Int - - - C_ENUM_MEMBER_CONTRACT_BAL:Int - - - C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - - C_ENUM_MEMBER_CONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ACTIVE_CELL:Bool - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - requires ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int C_ENUM_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_ENUM_BAL:Int - andBool ( 0 <=Int C_ENUM_NONCE:Int - andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( 1024 <=Int CALLDEPTH_CELL:Int - andBool ( pow24 - C_ENUM_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( CALLER_ID:Int <=Int 0 - orBool ( 10 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) ) ) ) - ))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-133-TO-97)] - - rule [BASIC-BLOCK-134-TO-98]: - - - ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"c6\xf6\x1e" - - - 0 - - - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - - C_ENUM_ID:Int - - ... - - - - 0 - - ... - - - NOG:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - - MIXHASH_CELL:Int - - ... - - ... - - - - 1 - - - ( - - ( C_ENUM_ID:Int => #address ( FoundryConsole ) ) - - - ( C_ENUM_BAL:Int => C_ENUM_MEMBER_CONTRACT_BAL:Int ) - - - ( ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) => C_ENUM_MEMBER_CONTRACT_STORAGE:Map ) - - - ( C_ENUM_ORIGSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map ) - - - ( C_ENUM_TRANSIENTSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map ) - - - ( C_ENUM_NONCE:Int => C_ENUM_MEMBER_CONTRACT_NONCE:Int ) - - ... - - ( - - ( C_ENUM_MEMBER_CONTRACT_ID:Int => C_ENUM_ID:Int ) - - - ( C_ENUM_MEMBER_CONTRACT_BAL:Int => C_ENUM_BAL:Int ) - - - ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map => ( ( 0 |-> #address ( FoundryConsole ) ) - C_ENUM_STORAGE:Map ) ) - - - ( C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map => C_ENUM_ORIGSTORAGE:Map ) - - - ( C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map => C_ENUM_TRANSIENTSTORAGE:Map ) - - - ( C_ENUM_MEMBER_CONTRACT_NONCE:Int => C_ENUM_NONCE:Int ) - - ... - - ACCOUNTS_REST:AccountCellMap ) ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG:Int - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int C_ENUM_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_ENUM_BAL:Int - andBool ( 0 <=Int C_ENUM_NONCE:Int - andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) - andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) - C_ENUM_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( CALLER_ID:Int <=Int 0 - orBool ( 10 - - - ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"c6\xf6\x1e" - - - 0 - - - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - - C_ENUM_ID:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - - MIXHASH_CELL:Int - - ... - - ... - - - - 1 - - - ( - - ( C_ENUM_ID:Int => #address ( FoundryConsole ) ) - - - ( C_ENUM_BAL:Int => C_ENUM_MEMBER_CONTRACT_BAL:Int ) - - - ( ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) => C_ENUM_MEMBER_CONTRACT_STORAGE:Map ) - - - ( C_ENUM_ORIGSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map ) - - - ( C_ENUM_TRANSIENTSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map ) - - - ( C_ENUM_NONCE:Int => C_ENUM_MEMBER_CONTRACT_NONCE:Int ) - - ... - - ( - - ( C_ENUM_MEMBER_CONTRACT_ID:Int => C_ENUM_ID:Int ) - - - ( C_ENUM_MEMBER_CONTRACT_BAL:Int => C_ENUM_BAL:Int ) - - - ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map => ( ( 0 |-> #address ( FoundryConsole ) ) - C_ENUM_STORAGE:Map ) ) - - - ( C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map => C_ENUM_ORIGSTORAGE:Map ) - - - ( C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map => C_ENUM_TRANSIENTSTORAGE:Map ) - - - ( C_ENUM_MEMBER_CONTRACT_NONCE:Int => C_ENUM_NONCE:Int ) - - ... - - ACCOUNTS_REST:AccountCellMap ) ) - - ... - - - ... - - - true - - - - - NCL:Int - - - .Account - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int C_ENUM_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_ENUM_BAL:Int - andBool ( 0 <=Int C_ENUM_NONCE:Int - andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) - andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) - C_ENUM_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( CALLER_ID:Int <=Int 0 - orBool ( 10 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... diff --git a/src/tests/integration/test-data/show/ForgetBranchTest.test_forgetBranch(uint256).expected b/src/tests/integration/test-data/show/ForgetBranchTest.test_forgetBranch(uint256).expected index be8d87bc2..c79d464c4 100644 --- a/src/tests/integration/test-data/show/ForgetBranchTest.test_forgetBranch(uint256).expected +++ b/src/tests/integration/test-data/show/ForgetBranchTest.test_forgetBranch(uint256).expected @@ -309,6 +309,9 @@ module SUMMARY-TEST%FORGETBRANCHTEST.TEST-FORGETBRANCH(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int KV0_x:Int @@ -533,6 +536,9 @@ module SUMMARY-TEST%FORGETBRANCHTEST.TEST-FORGETBRANCH(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int KV0_x:Int @@ -757,6 +763,9 @@ module SUMMARY-TEST%FORGETBRANCHTEST.TEST-FORGETBRANCH(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int KV0_x:Int @@ -982,6 +991,9 @@ module SUMMARY-TEST%FORGETBRANCHTEST.TEST-FORGETBRANCH(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int KV0_x:Int @@ -1208,6 +1220,9 @@ module SUMMARY-TEST%FORGETBRANCHTEST.TEST-FORGETBRANCH(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int KV0_x:Int diff --git a/src/tests/integration/test-data/show/Identity.applyOp(uint256).cse.expected b/src/tests/integration/test-data/show/Identity.applyOp(uint256).cse.expected index c925b96e8..b54a3af7f 100644 --- a/src/tests/integration/test-data/show/Identity.applyOp(uint256).cse.expected +++ b/src/tests/integration/test-data/show/Identity.applyOp(uint256).cse.expected @@ -70,7 +70,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 134 +┃ ┃ ┃ ┃ ├─ 124 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -79,7 +79,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ ┃ └─ 98 (leaf, pending) +┃ ┃ ┃ ┃ └─ 101 (leaf, pending) ┃ ┃ ┃ ┃ k: #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) ~> #refund 0 ~> 1 ~> #push ~> #se ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -94,7 +94,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 154 +┃ ┃ ┃ ┃ ├─ 146 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -103,7 +103,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 99 (leaf, pending) +┃ ┃ ┃ ┃ └─ 102 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -114,7 +114,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 155 +┃ ┃ ┃ ├─ 147 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -123,7 +123,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 100 (leaf, pending) +┃ ┃ ┃ └─ 103 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -149,7 +149,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 136 +┃ ┃ ┃ ┃ ├─ 126 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -158,7 +158,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ ┃ └─ 101 (leaf, pending) +┃ ┃ ┃ ┃ └─ 96 (leaf, pending) ┃ ┃ ┃ ┃ k: #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) ~> #refund 0 ~> 1 ~> #push ~> #se ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -173,7 +173,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 156 +┃ ┃ ┃ ┃ ├─ 144 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -182,7 +182,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 102 (leaf, pending) +┃ ┃ ┃ ┃ └─ 97 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -193,7 +193,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 157 +┃ ┃ ┃ ├─ 145 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -202,7 +202,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 103 (leaf, pending) +┃ ┃ ┃ └─ 98 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -223,7 +223,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 39 (split) +┃ ┃ ┃ ├─ 42 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -239,7 +239,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 142 +┃ ┃ ┃ ┃ ├─ 136 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -248,7 +248,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 104 (leaf, pending) +┃ ┃ ┃ ┃ └─ 111 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -259,7 +259,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 143 +┃ ┃ ┃ ├─ 137 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -268,7 +268,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 105 (leaf, pending) +┃ ┃ ┃ └─ 112 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -278,7 +278,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 40 +┃ ┃ ├─ 43 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -289,7 +289,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 66 +┃ ┃ ┃ ├─ 70 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -298,7 +298,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 106 (leaf, pending) +┃ ┃ ┃ └─ 113 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -308,7 +308,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 67 +┃ ┃ ├─ 71 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -319,7 +319,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 107 (leaf, pending) +┃ ┃ ┃ └─ 114 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -329,7 +329,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 108 (leaf, pending) +┃ ┃ └─ 115 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 148 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -363,7 +363,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 41 (split) +┃ ┃ ┃ ├─ 39 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -379,7 +379,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 144 +┃ ┃ ┃ ┃ ├─ 132 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -388,7 +388,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 109 (leaf, pending) +┃ ┃ ┃ ┃ └─ 104 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -399,7 +399,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 145 +┃ ┃ ┃ ├─ 133 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -408,7 +408,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 110 (leaf, pending) +┃ ┃ ┃ └─ 105 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -418,7 +418,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 42 (split) +┃ ┃ ┃ ├─ 40 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -434,7 +434,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 146 +┃ ┃ ┃ ┃ ├─ 134 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -443,7 +443,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 111 (leaf, pending) +┃ ┃ ┃ ┃ └─ 106 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -454,7 +454,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 147 +┃ ┃ ┃ ├─ 135 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -463,7 +463,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 112 (leaf, pending) +┃ ┃ ┃ └─ 107 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -473,7 +473,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 43 +┃ ┃ ├─ 41 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -484,7 +484,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 70 +┃ ┃ ┃ ├─ 67 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -493,7 +493,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 113 (leaf, pending) +┃ ┃ ┃ └─ 108 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -503,7 +503,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 71 +┃ ┃ ├─ 68 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -514,7 +514,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 114 (leaf, pending) +┃ ┃ ┃ └─ 109 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -524,7 +524,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 115 (leaf, pending) +┃ ┃ └─ 110 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 148 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -538,100 +538,7 @@ ┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_IDENTITY_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 26 -┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 164 ~> #execute ~ ... -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ ├─ 44 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 72 -┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... -┃ ┃ ┃ │ pc: 148 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ │ -┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 116 (leaf, pending) -┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... -┃ ┃ ┃ pc: 148 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 73 -┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... -┃ ┃ ┃ │ pc: 148 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ │ -┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 117 (leaf, pending) -┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... -┃ ┃ ┃ pc: 148 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ ├─ 74 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 148 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 118 (leaf, pending) -┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... -┃ ┃ ┃ pc: 148 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 119 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ pc: 148 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: src%cse%Identity.applyOp(uint256) -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_IDENTITY_ID:Int ) -┃ ┃ │ -┃ ┃ ├─ 45 +┃ ┃ ├─ 28 ┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 164 ~> #execute ~ ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -640,7 +547,7 @@ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ │ ┃ ┃ │ (1 step) -┃ ┃ ├─ 75 +┃ ┃ ├─ 47 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -651,7 +558,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 120 (leaf, pending) +┃ ┃ ┃ └─ 74 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -661,7 +568,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 121 (leaf, pending) +┃ ┃ ┃ └─ 75 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -671,7 +578,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 122 (leaf, pending) +┃ ┃ └─ 76 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 148 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -685,7 +592,7 @@ ┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_IDENTITY_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 76 +┃ ┃ ├─ 48 ┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 164 ~> #execute ~ ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -694,7 +601,7 @@ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ │ ┃ ┃ │ (1 step) -┃ ┃ └─ 123 (leaf, pending) +┃ ┃ └─ 79 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 148 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -708,7 +615,7 @@ ┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_IDENTITY_ID:Int ) ┃ ┃ │ -┃ ┃ └─ 124 (leaf, pending) +┃ ┃ └─ 80 (leaf, pending) ┃ ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 164 ~> #execute ~ ... ┃ ┃ pc: 148 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -719,7 +626,7 @@ ┃ ┗━━┓ subst: .Subst ┃ ┃ constraint: true ┃ │ -┃ └─ 125 (leaf, pending) +┃ └─ 81 (leaf, pending) ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 164 ~> #execute ~ ... ┃ pc: 148 ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -756,7 +663,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 126 +┃ ┃ ┃ ├─ 116 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -765,7 +672,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (6 steps) -┃ ┃ ┃ └─ 78 (leaf, pending) +┃ ┃ ┃ └─ 72 (leaf, pending) ┃ ┃ ┃ k: #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ~> #end ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -780,7 +687,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 148 +┃ ┃ ┃ ├─ 138 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -789,7 +696,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 79 (leaf, pending) +┃ ┃ ┃ └─ 73 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) ~> #refund 0 ~> 1 ~> #push ~> #se ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -804,7 +711,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 158 +┃ ┃ ┃ ├─ 148 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -813,7 +720,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 80 (leaf, pending) +┃ ┃ ┃ └─ 77 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -824,7 +731,7 @@ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ constraint: true ┃ ┃ │ -┃ ┃ ├─ 159 +┃ ┃ ├─ 149 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -833,7 +740,7 @@ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 81 (leaf, pending) +┃ ┃ └─ 78 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ pc: 148 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -859,7 +766,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 128 +┃ ┃ ┃ ├─ 118 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -883,7 +790,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 150 +┃ ┃ ┃ ├─ 140 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -892,7 +799,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 83 (leaf, pending) +┃ ┃ ┃ └─ 86 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) ~> #refund 0 ~> 1 ~> #push ~> #se ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -907,7 +814,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 160 +┃ ┃ ┃ ├─ 150 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -916,7 +823,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 84 (leaf, pending) +┃ ┃ ┃ └─ 87 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -927,7 +834,7 @@ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ constraint: true ┃ ┃ │ -┃ ┃ ├─ 161 +┃ ┃ ├─ 151 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -936,7 +843,7 @@ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 85 (leaf, pending) +┃ ┃ └─ 88 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ pc: 148 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -973,7 +880,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 130 +┃ ┃ ┃ ├─ 120 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -982,7 +889,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 86 (leaf, pending) +┃ ┃ ┃ └─ 83 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) ~> #refund 0 ~> 1 ~> #push ~> #se ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -997,7 +904,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 152 +┃ ┃ ┃ ├─ 142 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1006,7 +913,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 87 (leaf, pending) +┃ ┃ ┃ └─ 84 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1017,7 +924,7 @@ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ constraint: true ┃ ┃ │ -┃ ┃ ├─ 153 +┃ ┃ ├─ 143 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1026,7 +933,7 @@ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 88 (leaf, pending) +┃ ┃ └─ 85 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ pc: 148 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1063,7 +970,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 138 +┃ ┃ ┃ ├─ 128 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1083,7 +990,7 @@ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ constraint: true ┃ ┃ │ -┃ ┃ ├─ 139 +┃ ┃ ├─ 129 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1143,7 +1050,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ └─ 92 (leaf, pending) +┃ ┃ └─ 94 (leaf, pending) ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ pc: 148 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1153,7 +1060,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ └─ 93 (leaf, pending) +┃ └─ 95 (leaf, pending) ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ pc: 148 ┃ callDepth: DEPTH_CELL:Int @@ -1196,7 +1103,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ 0 ==Int ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #refund 0 ~> 1 ~> #push ~> #se ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1205,7 +1112,7 @@ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ │ ┃ ┃ │ (189 steps) - ┃ ┃ └─ 94 (leaf, pending) + ┃ ┃ └─ 92 (leaf, pending) ┃ ┃ k: JUMPI 245 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #refund 0 ~> 1 ~> #push ~> #se ... ┃ │ pc: 148 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1226,7 +1133,7 @@ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ │ ┃ │ (189 steps) - ┃ └─ 95 (leaf, pending) + ┃ └─ 93 (leaf, pending) ┃ k: JUMPI 245 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #checkCall C_IDENTITY_ID:Int 0 ~> #call C_I ... ┃ │ pc: 148 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1258,7 +1165,7 @@ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ │ ┃ │ (348 steps) - ┃ └─ 96 (leaf, pending) + ┃ └─ 99 (leaf, pending) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 87 ┃ callDepth: CALLDEPTH_CELL:Int @@ -1270,7 +1177,7 @@ ┃ constraint: ┃ 1024 <=Int CALLDEPTH_CELL:Int │ - ├─ 133 + ├─ 123 │ k: #accessAccounts C_IDENTITY_ID:Int ~> #checkCall C_IDENTITY_ID:Int 0 ~> #call C_I ... │ pc: 148 │ callDepth: CALLDEPTH_CELL:Int @@ -1279,7 +1186,7 @@ │ method: src%cse%Identity.applyOp(uint256) │ │ (79 steps) - └─ 97 (leaf, pending) + └─ 100 (leaf, pending) k: #halt ~> CONTINUATION:K pc: 163 callDepth: CALLDEPTH_CELL:Int @@ -1424,6 +1331,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -1614,6 +1544,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -1808,6 +1761,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2006,6 +1982,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2051,7 +2050,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ensures NEWCALLER_CELL:Account ~> .K =/=K C_IDENTITY_ID:Int ~> .K [priority(20), label(BASIC-BLOCK-14-TO-25)] - rule [BASIC-BLOCK-26-TO-44]: + rule [BASIC-BLOCK-28-TO-47]: ( #next [ STATICCALL ] ~> .K => #injectPrank @@ -2204,6 +2203,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2247,9 +2269,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) )))))))))))))))))))))))))))))) ensures NEWCALLER_CELL:Account ~> .K =/=K C_IDENTITY_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-26-TO-44)] + [priority(20), label(BASIC-BLOCK-28-TO-47)] - rule [BASIC-BLOCK-45-TO-75]: + rule [BASIC-BLOCK-48-TO-79]: ( #next [ STATICCALL ] ~> .K => #injectPrank @@ -2402,6 +2424,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2445,7 +2490,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) )))))))))))))))))))))))))))))) ensures NEWCALLER_CELL:Account ~> .K =/=K C_IDENTITY_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-45-TO-75)] + [priority(20), label(BASIC-BLOCK-48-TO-79)] rule [BASIC-BLOCK-56-TO-91]: @@ -2601,6 +2646,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -2649,7 +2717,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )))))))))))))))))))))))))))))))))) [priority(20), label(BASIC-BLOCK-56-TO-91)] - rule [BASIC-BLOCK-66-TO-106]: + rule [BASIC-BLOCK-67-TO-108]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -2711,7 +2779,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG1:Int + NOG0:Int @@ -2760,7 +2828,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG1:Int + NOG0:Int true @@ -2805,12 +2873,35 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -2829,8 +2920,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int @@ -2915,7 +3005,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG0:Int + NOG1:Int @@ -2964,7 +3054,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG0:Int + NOG1:Int true @@ -3009,12 +3099,35 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -3033,7 +3146,8 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int - - - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 164 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"i\xab\xff\xa1" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => C_IDENTITY_ID:Int ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - - C_IDENTITY_ID:Int - - ... - - - - 0 - - ... - - - NOG:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - - MIXHASH_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_IDENTITY_ID:Int - - - C_IDENTITY_BAL:Int - - - C_IDENTITY_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NCL:Int - - - NOG:Int - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int - andBool ( 0 <=Int C_IDENTITY_BAL:Int - andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( pow24 - C_IDENTITY_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( CALLER_ID:Int <=Int 0 - orBool ( 10 - - - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 164 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - NCL:Int - - - CALLER_ID:Int - - - b"i\xab\xff\xa1" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => C_IDENTITY_ID:Int ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - - C_IDENTITY_ID:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - - MIXHASH_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_IDENTITY_ID:Int - - - C_IDENTITY_BAL:Int - - - C_IDENTITY_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NCL:Int - - - .Account - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int - andBool ( 0 <=Int C_IDENTITY_BAL:Int - andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( pow24 - C_IDENTITY_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( CALLER_ID:Int <=Int 0 - orBool ( 10 - - - ( #next [ STATICCALL ] ~> .K => #injectPrank - ~> #next [ STATICCALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 32 164 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_IDENTITY_ID:Int - - - CALLER_ID:Int - - - b"i\xab\xff\xa1" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - ( 0 : ( C_IDENTITY_ID:Int : ( 128 : ( 36 : ( 128 : ( 32 : ( 164 : ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) - - - 0 - - - 0 - - - EXPECTEDDEPTH_CELL:Int - - - C_IDENTITY_ID:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - - MIXHASH_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_IDENTITY_ID:Int - - - C_IDENTITY_BAL:Int - - - C_IDENTITY_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int KV0_x:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int - andBool ( 0 <=Int C_IDENTITY_BAL:Int - andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( pow24 - C_IDENTITY_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( CALLER_ID:Int <=Int 0 - orBool ( 10 .K =/=K C_IDENTITY_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-76-TO-123)] + )))))))))))))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-70-TO-113)] - rule [BASIC-BLOCK-138-TO-89]: + rule [BASIC-BLOCK-128-TO-89]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -3812,6 +3324,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -3861,9 +3396,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-138-TO-89)] + [priority(20), label(BASIC-BLOCK-128-TO-89)] - rule [BASIC-BLOCK-139-TO-90]: + rule [BASIC-BLOCK-129-TO-90]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -4017,6 +3552,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -4062,9 +3620,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-139-TO-90)] + [priority(20), label(BASIC-BLOCK-129-TO-90)] - rule [BASIC-BLOCK-140-TO-94]: + rule [BASIC-BLOCK-130-TO-92]: ( #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) @@ -4222,6 +3780,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -4257,9 +3838,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( ( notBool ( CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K #address ( FoundryConsole ) ) ) ) ))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-140-TO-94)] + [priority(20), label(BASIC-BLOCK-130-TO-92)] - rule [BASIC-BLOCK-141-TO-95]: + rule [BASIC-BLOCK-131-TO-93]: ( #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) @@ -4417,6 +3998,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -4452,9 +4056,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( ( notBool ( CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K #address ( FoundryConsole ) ) ) ) ))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-141-TO-95)] + [priority(20), label(BASIC-BLOCK-131-TO-93)] - rule [BASIC-BLOCK-142-TO-104]: + rule [BASIC-BLOCK-132-TO-104]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -4516,7 +4120,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG0:Int + NOG:Int @@ -4565,7 +4169,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG0:Int + NOG:Int true @@ -4610,12 +4214,35 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -4635,7 +4262,6 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int + rule [BASIC-BLOCK-133-TO-105]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -4723,7 +4349,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG0:Int + NOG:Int @@ -4772,7 +4398,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG0:Int + NOG:Int true @@ -4817,12 +4443,35 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -4841,7 +4490,6 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int + rule [BASIC-BLOCK-134-TO-106]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -4926,7 +4574,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG:Int + ORIGIN_ID:Int @@ -4975,7 +4623,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG:Int + .Account true @@ -5020,16 +4668,39 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -5068,9 +4739,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 orBool ( 10 + rule [BASIC-BLOCK-135-TO-107]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -5132,7 +4803,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG:Int + ORIGIN_ID:Int @@ -5181,7 +4852,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG:Int + .Account true @@ -5226,15 +4897,38 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -5270,9 +4964,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 orBool ( 10 + rule [BASIC-BLOCK-136-TO-111]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -5334,7 +5028,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG0:Int @@ -5383,7 +5077,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - .Account + NOG0:Int true @@ -5428,16 +5122,39 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -5453,6 +5170,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int + rule [BASIC-BLOCK-137-TO-112]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -5540,7 +5258,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG0:Int @@ -5589,7 +5307,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - .Account + NOG0:Int true @@ -5634,15 +5352,38 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -5658,6 +5399,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int + rule [BASIC-BLOCK-142-TO-84]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -5834,6 +5576,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -5882,9 +5647,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-152-TO-87)] + [priority(20), label(BASIC-BLOCK-142-TO-84)] - rule [BASIC-BLOCK-153-TO-88]: + rule [BASIC-BLOCK-143-TO-85]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -6038,6 +5803,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -6082,9 +5870,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-153-TO-88)] + [priority(20), label(BASIC-BLOCK-143-TO-85)] - rule [BASIC-BLOCK-154-TO-99]: + rule [BASIC-BLOCK-144-TO-97]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -6146,7 +5934,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG:Int + ORIGIN_ID:Int @@ -6195,7 +5983,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG:Int + .Account true @@ -6240,16 +6028,39 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -6288,9 +6099,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 orBool ( 10 + rule [BASIC-BLOCK-145-TO-98]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -6352,7 +6163,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG:Int + ORIGIN_ID:Int @@ -6401,7 +6212,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG:Int + .Account true @@ -6446,15 +6257,38 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -6490,9 +6324,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 orBool ( 10 + rule [BASIC-BLOCK-146-TO-102]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -6554,7 +6388,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG:Int @@ -6603,7 +6437,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - .Account + NOG:Int true @@ -6648,16 +6482,39 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -6696,9 +6553,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 orBool ( 10 + rule [BASIC-BLOCK-147-TO-103]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -6760,7 +6617,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG:Int @@ -6809,7 +6666,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - .Account + NOG:Int true @@ -6854,15 +6711,38 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -6898,9 +6778,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 orBool ( 10 + rule [BASIC-BLOCK-148-TO-77]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -7054,6 +6934,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -7101,9 +7004,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-158-TO-80)] + [priority(20), label(BASIC-BLOCK-148-TO-77)] - rule [BASIC-BLOCK-159-TO-81]: + rule [BASIC-BLOCK-149-TO-78]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -7257,6 +7160,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -7300,9 +7226,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-159-TO-81)] + [priority(20), label(BASIC-BLOCK-149-TO-78)] - rule [BASIC-BLOCK-160-TO-84]: + rule [BASIC-BLOCK-150-TO-87]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -7456,6 +7382,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -7503,9 +7452,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-160-TO-84)] + [priority(20), label(BASIC-BLOCK-150-TO-87)] - rule [BASIC-BLOCK-161-TO-85]: + rule [BASIC-BLOCK-151-TO-88]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -7659,6 +7608,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -7702,9 +7674,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-161-TO-85)] + [priority(20), label(BASIC-BLOCK-151-TO-88)] - rule [BASIC-BLOCK-126-TO-78]: + rule [BASIC-BLOCK-116-TO-72]: ( #next [ STATICCALL ] ~> .K => #refund 0 @@ -7861,6 +7833,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -7909,9 +7904,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-126-TO-78)] + [priority(20), label(BASIC-BLOCK-116-TO-72)] - rule [BASIC-BLOCK-128-TO-82]: + rule [BASIC-BLOCK-118-TO-82]: ( #next [ STATICCALL ] ~> .K => #refund 0 @@ -8068,6 +8063,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -8116,9 +8134,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-128-TO-82)] + [priority(20), label(BASIC-BLOCK-118-TO-82)] - rule [BASIC-BLOCK-148-TO-79]: + rule [BASIC-BLOCK-138-TO-73]: ( #next [ STATICCALL ] ~> .K => #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) @@ -8276,6 +8294,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -8324,9 +8365,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-148-TO-79)] + [priority(20), label(BASIC-BLOCK-138-TO-73)] - rule [BASIC-BLOCK-150-TO-83]: + rule [BASIC-BLOCK-120-TO-83]: ( #next [ STATICCALL ] ~> .K => #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) @@ -8390,7 +8431,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG0:Int @@ -8439,7 +8480,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - .Account + NOG0:Int true @@ -8484,14 +8525,37 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -8507,6 +8571,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int + rule [BASIC-BLOCK-140-TO-86]: ( #next [ STATICCALL ] ~> .K => #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) @@ -8598,7 +8663,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG0:Int + ORIGIN_ID:Int @@ -8647,7 +8712,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG0:Int + .Account true @@ -8692,14 +8757,37 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -8715,7 +8803,6 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int + rule [BASIC-BLOCK-126-TO-96]: - ( #accessAccounts C_IDENTITY_ID:Int - ~> #checkCall C_IDENTITY_ID:Int 0 - ~> #call C_IDENTITY_ID:Int C_IDENTITY_ID:Int C_IDENTITY_ID:Int 0 0 b"\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) true - ~> #return 128 32 - ~> #pc [ STATICCALL ] - ~> #execute => #halt ~> .K ) + ( #next [ STATICCALL ] ~> .K => #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" + ~> #pc [ STATICCALL ] ) + ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 164 + ~> #execute ~> _CONTINUATION:K @@ -8765,18 +8856,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - - ( _OUTPUT_CELL:Bytes => #buf ( 32 , KV0_x:Int ) ) - - - ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) - - - ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_IDENTITY_ID:Int ) ) - - C_IDENTITY_ID:Int + NCL:Int CALLER_ID:Int @@ -8788,10 +8870,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) + ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_x:Int ) => #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV0_x:Int ) ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) 0 @@ -8800,10 +8882,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - CALLDEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int - C_IDENTITY_ID:Int + ( C_IDENTITY_ID:Int => #address ( FoundryConsole ) ) ... @@ -8811,9 +8893,6 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_IDENTITY_ID:Int ) ) - ... @@ -8840,7 +8919,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ( - C_IDENTITY_ID:Int + ( C_IDENTITY_ID:Int => #address ( FoundryConsole ) ) C_IDENTITY_BAL:Int @@ -8863,19 +8942,22 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - NEWCALLER_CELL:Account + NCL:Int + + .Account + - ACTIVE_CELL:Bool + true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -8908,17 +8990,46 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... - requires ( 0 <=Int KV0_x:Int + requires ( _ACTIVE_CELL:Bool + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account + andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( 0 <=Int C_IDENTITY_ID:Int andBool ( 0 <=Int C_IDENTITY_BAL:Int andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( CALLDEPTH_CELL:Int + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( notBool C_IDENTITY_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) @@ -8945,15 +9060,11 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( ( C_IDENTITY_ID:Int <=Int 0 orBool ( 10 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) ) ) - andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_IDENTITY_ID:Int ) ) ) - ))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-132-TO-96)] + )))))))))))))))))))))))))))))))))) + ensures NCL:Int =/=Int #address ( FoundryConsole ) + [priority(20), label(BASIC-BLOCK-126-TO-96)] - rule [BASIC-BLOCK-133-TO-97]: + rule [BASIC-BLOCK-122-TO-99]: ( #accessAccounts C_IDENTITY_ID:Int @@ -8976,11 +9087,14 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - ( _OUTPUT_CELL:Bytes => b"" ) + ( _OUTPUT_CELL:Bytes => #buf ( 32 , KV0_x:Int ) ) - ( _STATUSCODE:StatusCode => EVMC_REVERT ) + ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) + + ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_IDENTITY_ID:Int ) ) + C_IDENTITY_ID:Int @@ -8995,10 +9109,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - ( ( 164 => 1 ) : ( ( 2889346747 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 0 => C_IDENTITY_ID:Int ) : ( ( KV0_x:Int => 0 ) : ( ( 70 => KV0_x:Int ) : ( ( 1772879777 => 70 ) : ( .WordStack => ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) + ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_x:Int ) => #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV0_x:Int ) ) 0 @@ -9115,6 +9229,29 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -9125,7 +9262,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( 0 <=Int C_IDENTITY_ID:Int andBool ( 0 <=Int C_IDENTITY_BAL:Int andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( 1024 <=Int CALLDEPTH_CELL:Int + andBool ( CALLDEPTH_CELL:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) ) ) andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_IDENTITY_ID:Int ) ) ) ))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-133-TO-97)] + [priority(20), label(BASIC-BLOCK-122-TO-99)] - rule [BASIC-BLOCK-134-TO-98]: + rule [BASIC-BLOCK-123-TO-100]: - ( #next [ STATICCALL ] ~> .K => #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 164 - ~> #execute + ( #accessAccounts C_IDENTITY_ID:Int + ~> #checkCall C_IDENTITY_ID:Int 0 + ~> #call C_IDENTITY_ID:Int C_IDENTITY_ID:Int C_IDENTITY_ID:Int 0 0 b"\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) true + ~> #return 128 32 + ~> #pc [ STATICCALL ] + ~> #execute => #halt ~> .K ) ~> _CONTINUATION:K @@ -9186,9 +9319,15 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 + + ( _OUTPUT_CELL:Bytes => b"" ) + + + ( _STATUSCODE:StatusCode => EVMC_REVERT ) + - NCL:Int + C_IDENTITY_ID:Int CALLER_ID:Int @@ -9200,7 +9339,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) + ( ( 164 => 1 ) : ( ( 2889346747 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 0 => C_IDENTITY_ID:Int ) : ( ( KV0_x:Int => 0 ) : ( ( 70 => KV0_x:Int ) : ( ( 1772879777 => 70 ) : ( .WordStack => ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) @@ -9212,10 +9351,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - EXPECTEDDEPTH_CELL:Int + CALLDEPTH_CELL:Int - ( C_IDENTITY_ID:Int => #address ( FoundryConsole ) ) + C_IDENTITY_ID:Int ... @@ -9223,10 +9362,13 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 + + ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_IDENTITY_ID:Int ) ) + ... - NOG:Int + ORIGIN_ID:Int @@ -9249,7 +9391,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ( - ( C_IDENTITY_ID:Int => #address ( FoundryConsole ) ) + C_IDENTITY_ID:Int C_IDENTITY_BAL:Int @@ -9272,22 +9414,19 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - NCL:Int + NEWCALLER_CELL:Account - - NOG:Int - - true + ACTIVE_CELL:Bool - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -9320,23 +9459,40 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) - andBool ( 0 <=Int KV0_x:Int + requires ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( 0 <=Int C_IDENTITY_ID:Int andBool ( 0 <=Int C_IDENTITY_BAL:Int andBool ( 0 <=Int C_IDENTITY_NONCE:Int + andBool ( 1024 <=Int CALLDEPTH_CELL:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( notBool C_IDENTITY_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) @@ -9367,11 +9519,15 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( ( C_IDENTITY_ID:Int <=Int 0 orBool ( 10 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) ) ) + andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_IDENTITY_ID:Int ) ) ) + ))))))))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-123-TO-100)] - rule [BASIC-BLOCK-136-TO-101]: + rule [BASIC-BLOCK-124-TO-101]: ( #next [ STATICCALL ] ~> .K => #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) @@ -9437,7 +9593,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG:Int @@ -9486,7 +9642,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - .Account + NOG:Int true @@ -9531,16 +9687,39 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -9580,6 +9759,6 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) )))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-136-TO-101)] + [priority(20), label(BASIC-BLOCK-124-TO-101)] endmodule \ No newline at end of file diff --git a/src/tests/integration/test-data/show/Identity.identity(uint256).cse.expected b/src/tests/integration/test-data/show/Identity.identity(uint256).cse.expected index a2663b163..12eeb0cb7 100644 --- a/src/tests/integration/test-data/show/Identity.identity(uint256).cse.expected +++ b/src/tests/integration/test-data/show/Identity.identity(uint256).cse.expected @@ -163,6 +163,29 @@ module SUMMARY-SRC%CSE%IDENTITY.IDENTITY(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... diff --git a/src/tests/integration/test-data/show/ImportedContract.add(uint256).cse.expected b/src/tests/integration/test-data/show/ImportedContract.add(uint256).cse.expected index c693d30cb..00c680208 100644 --- a/src/tests/integration/test-data/show/ImportedContract.add(uint256).cse.expected +++ b/src/tests/integration/test-data/show/ImportedContract.add(uint256).cse.expected @@ -214,6 +214,29 @@ module SUMMARY-TEST%IMPORTEDCONTRACT.ADD(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -392,6 +415,29 @@ module SUMMARY-TEST%IMPORTEDCONTRACT.ADD(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... diff --git a/src/tests/integration/test-data/show/ImportedContract.count().cse.expected b/src/tests/integration/test-data/show/ImportedContract.count().cse.expected index b27dc635f..cd3b327c4 100644 --- a/src/tests/integration/test-data/show/ImportedContract.count().cse.expected +++ b/src/tests/integration/test-data/show/ImportedContract.count().cse.expected @@ -166,6 +166,29 @@ module SUMMARY-TEST%IMPORTEDCONTRACT.COUNT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... diff --git a/src/tests/integration/test-data/show/ImportedContract.init.cse.expected b/src/tests/integration/test-data/show/ImportedContract.init.cse.expected index 2bb3ae3ee..adc50e0f3 100644 --- a/src/tests/integration/test-data/show/ImportedContract.init.cse.expected +++ b/src/tests/integration/test-data/show/ImportedContract.init.cse.expected @@ -167,6 +167,29 @@ module SUMMARY-TEST%IMPORTEDCONTRACT.INIT:0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... diff --git a/src/tests/integration/test-data/show/ImportedContract.set(uint256).cse.expected b/src/tests/integration/test-data/show/ImportedContract.set(uint256).cse.expected index ed612f141..f5f911e8e 100644 --- a/src/tests/integration/test-data/show/ImportedContract.set(uint256).cse.expected +++ b/src/tests/integration/test-data/show/ImportedContract.set(uint256).cse.expected @@ -214,6 +214,29 @@ module SUMMARY-TEST%IMPORTEDCONTRACT.SET(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -390,6 +413,29 @@ module SUMMARY-TEST%IMPORTEDCONTRACT.SET(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... diff --git a/src/tests/integration/test-data/show/InterfaceTagTest.testInterface().cse.expected b/src/tests/integration/test-data/show/InterfaceTagTest.testInterface().cse.expected index db4472c90..080fe55e7 100644 --- a/src/tests/integration/test-data/show/InterfaceTagTest.testInterface().cse.expected +++ b/src/tests/integration/test-data/show/InterfaceTagTest.testInterface().cse.expected @@ -305,6 +305,29 @@ module SUMMARY-TEST%INTERFACETAGTEST.TESTINTERFACE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/PreconditionTest.testPrecondition(uint256).expected b/src/tests/integration/test-data/show/PreconditionTest.testPrecondition(uint256).expected index ef752667c..e5d92dba1 100644 --- a/src/tests/integration/test-data/show/PreconditionTest.testPrecondition(uint256).expected +++ b/src/tests/integration/test-data/show/PreconditionTest.testPrecondition(uint256).expected @@ -275,6 +275,9 @@ module SUMMARY-TEST%PRECONDITIONTEST.TESTPRECONDITION(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int MIXHASH_CELL:Int @@ -499,6 +502,9 @@ module SUMMARY-TEST%PRECONDITIONTEST.TESTPRECONDITION(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int ?WORD:Int @@ -869,6 +875,9 @@ module SUMMARY-TEST%PRECONDITIONTEST.TESTPRECONDITION(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int ?WORD:Int @@ -1260,6 +1269,9 @@ module SUMMARY-TEST%PRECONDITIONTEST.TESTPRECONDITION(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int ?WORD:Int @@ -1630,6 +1642,9 @@ module SUMMARY-TEST%PRECONDITIONTEST.TESTPRECONDITION(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int ?WORD:Int diff --git a/src/tests/integration/test-data/show/PreconditionTest.testPrecondition_storage().expected b/src/tests/integration/test-data/show/PreconditionTest.testPrecondition_storage().expected index f04678ae9..cb4a66222 100644 --- a/src/tests/integration/test-data/show/PreconditionTest.testPrecondition_storage().expected +++ b/src/tests/integration/test-data/show/PreconditionTest.testPrecondition_storage().expected @@ -258,6 +258,9 @@ module SUMMARY-TEST%PRECONDITIONTEST.TESTPRECONDITION-STORAGE():0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int MIXHASH_CELL:Int @@ -482,6 +485,9 @@ module SUMMARY-TEST%PRECONDITIONTEST.TESTPRECONDITION-STORAGE():0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int ?WORD:Int @@ -706,6 +712,9 @@ module SUMMARY-TEST%PRECONDITIONTEST.TESTPRECONDITION-STORAGE():0 .MockFunctionCellMap + + .Map + requires ( _?WORD:Int ==Int 6000000000000000000 diff --git a/src/tests/integration/test-data/show/RandomVarTest.test_custom_names().expected b/src/tests/integration/test-data/show/RandomVarTest.test_custom_names().expected index d60425c12..18fd0a0e0 100644 --- a/src/tests/integration/test-data/show/RandomVarTest.test_custom_names().expected +++ b/src/tests/integration/test-data/show/RandomVarTest.test_custom_names().expected @@ -367,6 +367,9 @@ module SUMMARY-TEST%RANDOMVARTEST.TEST-CUSTOM-NAMES():0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int MIXHASH_CELL:Int @@ -591,6 +594,9 @@ module SUMMARY-TEST%RANDOMVARTEST.TEST-CUSTOM-NAMES():0 .MockFunctionCellMap + + .Map + requires ( ?WORD:Int .MockFunctionCellMap + + .Map + requires ( BOOLEAN:Int .MockFunctionCellMap + + .Map + requires ( ?WORD:Int .MockFunctionCellMap + + .Map + requires ( BOOLEAN:Int .MockFunctionCellMap + + .Map + requires ( _BOOLEAN:Int ==Int 1 @@ -1724,6 +1742,9 @@ module SUMMARY-TEST%RANDOMVARTEST.TEST-CUSTOM-NAMES():0 .MockFunctionCellMap + + .Map + requires ( _BOOLEAN:Int ==Int 1 @@ -1952,6 +1973,9 @@ module SUMMARY-TEST%RANDOMVARTEST.TEST-CUSTOM-NAMES():0 .MockFunctionCellMap + + .Map + requires ( _BOOLEAN:Int ==Int 1 @@ -2182,6 +2206,9 @@ module SUMMARY-TEST%RANDOMVARTEST.TEST-CUSTOM-NAMES():0 .MockFunctionCellMap + + .Map + requires ( _BOOLEAN:Int ==Int 1 @@ -2458,6 +2485,9 @@ module SUMMARY-TEST%RANDOMVARTEST.TEST-CUSTOM-NAMES():0 .MockFunctionCellMap + + .Map + requires ( _BOOLEAN:Int ==Int 1 @@ -2708,6 +2738,9 @@ module SUMMARY-TEST%RANDOMVARTEST.TEST-CUSTOM-NAMES():0 .MockFunctionCellMap + + .Map + requires ( _BOOLEAN:Int ==Int 1 @@ -2959,6 +2992,9 @@ module SUMMARY-TEST%RANDOMVARTEST.TEST-CUSTOM-NAMES():0 .MockFunctionCellMap + + .Map + requires ( _BOOLEAN:Int ==Int 1 @@ -3210,6 +3246,9 @@ module SUMMARY-TEST%RANDOMVARTEST.TEST-CUSTOM-NAMES():0 .MockFunctionCellMap + + .Map + requires ( _BOOLEAN:Int ==Int 1 @@ -3462,6 +3501,9 @@ module SUMMARY-TEST%RANDOMVARTEST.TEST-CUSTOM-NAMES():0 .MockFunctionCellMap + + .Map + requires ( _BOOLEAN:Int ==Int 1 @@ -3715,6 +3757,9 @@ module SUMMARY-TEST%RANDOMVARTEST.TEST-CUSTOM-NAMES():0 .MockFunctionCellMap + + .Map + requires ( _BOOLEAN:Int ==Int 1 diff --git a/src/tests/integration/test-data/show/SetUpDeployTest.test_extcodesize().expected b/src/tests/integration/test-data/show/SetUpDeployTest.test_extcodesize().expected index ad1957f9a..6bbf22bc6 100644 --- a/src/tests/integration/test-data/show/SetUpDeployTest.test_extcodesize().expected +++ b/src/tests/integration/test-data/show/SetUpDeployTest.test_extcodesize().expected @@ -317,6 +317,29 @@ module SUMMARY-TEST%SETUPDEPLOYTEST.TEST-EXTCODESIZE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -559,6 +582,29 @@ module SUMMARY-TEST%SETUPDEPLOYTEST.TEST-EXTCODESIZE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -800,6 +846,29 @@ module SUMMARY-TEST%SETUPDEPLOYTEST.TEST-EXTCODESIZE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1044,6 +1113,29 @@ module SUMMARY-TEST%SETUPDEPLOYTEST.TEST-EXTCODESIZE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1288,6 +1380,29 @@ module SUMMARY-TEST%SETUPDEPLOYTEST.TEST-EXTCODESIZE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/StaticCallContract.set(uint256).cse.expected b/src/tests/integration/test-data/show/StaticCallContract.set(uint256).cse.expected index 5693a2e6f..db548639b 100644 --- a/src/tests/integration/test-data/show/StaticCallContract.set(uint256).cse.expected +++ b/src/tests/integration/test-data/show/StaticCallContract.set(uint256).cse.expected @@ -169,6 +169,29 @@ module SUMMARY-TEST%STATICCALLCONTRACT.SET(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... diff --git a/src/tests/integration/test-data/show/TGovernance.getEscrowTokenTotalSupply().cse.expected b/src/tests/integration/test-data/show/TGovernance.getEscrowTokenTotalSupply().cse.expected index 9bd36e733..438bf95e9 100644 --- a/src/tests/integration/test-data/show/TGovernance.getEscrowTokenTotalSupply().cse.expected +++ b/src/tests/integration/test-data/show/TGovernance.getEscrowTokenTotalSupply().cse.expected @@ -54,7 +54,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 22 +┃ ┃ ┃ ├─ 18 ┃ ┃ ┃ │ k: #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #ex ... ┃ ┃ ┃ │ pc: 138 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -63,7 +63,7 @@ ┃ ┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (7 steps) -┃ ┃ ┃ └─ 43 (leaf, pending) +┃ ┃ ┃ └─ 38 (leaf, pending) ┃ ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -73,7 +73,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 23 +┃ ┃ ┃ ├─ 19 ┃ ┃ ┃ │ k: #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #ex ... ┃ ┃ ┃ │ pc: 138 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -82,7 +82,7 @@ ┃ ┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (7 steps) -┃ ┃ ┃ └─ 44 (leaf, pending) +┃ ┃ ┃ └─ 39 (leaf, pending) ┃ ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -92,7 +92,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 24 +┃ ┃ ├─ 20 ┃ ┃ │ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutp ... ┃ ┃ │ pc: 138 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -103,7 +103,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 45 (leaf, pending) +┃ ┃ ┃ └─ 40 (leaf, pending) ┃ ┃ ┃ k: #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #ex ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -113,7 +113,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 46 (leaf, pending) +┃ ┃ └─ 41 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutp ... ┃ ┃ pc: 138 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -147,7 +147,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 47 (leaf, pending) +┃ ┃ ┃ └─ 45 (leaf, pending) ┃ ┃ ┃ k: #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #ex ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -157,7 +157,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 48 (leaf, pending) +┃ ┃ ┃ └─ 46 (leaf, pending) ┃ ┃ ┃ k: #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #ex ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -167,7 +167,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 49 (leaf, pending) +┃ ┃ └─ 47 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutp ... ┃ ┃ pc: 138 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -181,30 +181,7 @@ ┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_TGOVERNANCE_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 26 -┃ ┃ │ k: #next [ CALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~> CONT ... -┃ ┃ │ pc: 138 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ │ -┃ ┃ │ (1 step) -┃ ┃ └─ 50 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutp ... -┃ ┃ pc: 138 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%TGovernance.getEscrowTokenTotalSupply() -┃ ┃ -┃ ┣━━┓ subst: .Subst -┃ ┃ ┃ constraint: -┃ ┃ ┃ ACTIVE_CELL:Bool -┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_TGOVERNANCE_ID:Int ) -┃ ┃ │ -┃ ┃ └─ 51 (leaf, pending) +┃ ┃ └─ 31 (leaf, pending) ┃ ┃ k: #next [ CALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~> CONT ... ┃ ┃ pc: 138 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -215,7 +192,7 @@ ┃ ┗━━┓ subst: .Subst ┃ ┃ constraint: true ┃ │ -┃ └─ 52 (leaf, pending) +┃ └─ 32 (leaf, pending) ┃ k: #next [ CALL ] ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #execute ~> CONT ... ┃ pc: 138 ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -256,7 +233,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 28 (leaf, pending) +┃ ┃ ┃ └─ 33 (leaf, pending) ┃ ┃ ┃ k: #refund 0 ~> #pushCallStack ~> #pushWorldState ~> #end EVMC_BALANCE_UNDERFLOW ~> ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -266,7 +243,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 29 (leaf, pending) +┃ ┃ ┃ └─ 34 (leaf, pending) ┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_E ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -276,7 +253,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 30 (leaf, pending) +┃ ┃ ┃ └─ 35 (leaf, pending) ┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int NCL:Int NCL:Int 0 0 b"W\xdf\x84K" false ~> ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -286,7 +263,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 31 (leaf, pending) +┃ ┃ ┃ └─ 36 (leaf, pending) ┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_E ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -296,7 +273,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 32 (leaf, pending) +┃ ┃ └─ 37 (leaf, pending) ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... ┃ ┃ pc: 138 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -326,7 +303,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 33 (leaf, pending) +┃ ┃ ┃ └─ 26 (leaf, pending) ┃ ┃ ┃ k: #refund 0 ~> #pushCallStack ~> #pushWorldState ~> #end EVMC_BALANCE_UNDERFLOW ~> ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -336,7 +313,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 34 (leaf, pending) +┃ ┃ ┃ └─ 27 (leaf, pending) ┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_E ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -346,7 +323,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 35 (leaf, pending) +┃ ┃ ┃ └─ 28 (leaf, pending) ┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int NCL:Int NCL:Int 0 0 b"W\xdf\x84K" false ~> ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -356,7 +333,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 36 (leaf, pending) +┃ ┃ ┃ └─ 29 (leaf, pending) ┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_E ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -366,7 +343,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 37 (leaf, pending) +┃ ┃ └─ 30 (leaf, pending) ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... ┃ ┃ pc: 138 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -387,7 +364,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ ├─ 18 +┃ ┃ ├─ 23 ┃ ┃ │ k: #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 138 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -396,7 +373,7 @@ ┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() ┃ ┃ │ ┃ ┃ │ (7 steps) -┃ ┃ └─ 38 (leaf, pending) +┃ ┃ └─ 44 (leaf, pending) ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... ┃ ┃ pc: 138 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -406,7 +383,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ ├─ 19 +┃ ├─ 24 ┃ │ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ │ pc: 138 ┃ │ callDepth: DEPTH_CELL:Int @@ -417,7 +394,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ └─ 39 (leaf, pending) +┃ ┃ └─ 48 (leaf, pending) ┃ ┃ k: #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ pc: 138 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -427,7 +404,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ └─ 40 (leaf, pending) +┃ └─ 49 (leaf, pending) ┃ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ pc: 138 ┃ callDepth: DEPTH_CELL:Int @@ -450,7 +427,7 @@ ┃ ┃ constraint: ┃ ┃ CALLDEPTH_CELL:Int #exec [ CALL ] ~> #pc [ CALL ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 138 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -459,7 +436,7 @@ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() ┃ │ ┃ │ (24 steps) - ┃ └─ 41 (leaf, pending) + ┃ └─ 42 (leaf, pending) ┃ k: #next [ CALL ] ~> #execute ~> #return 128 32 ~> #pc [ CALL ] ~> #execute ~> CONT ... ┃ pc: 143 ┃ callDepth: ( CALLDEPTH_CELL:Int +Int 1 ) @@ -471,7 +448,7 @@ ┃ constraint: ┃ 1024 <=Int CALLDEPTH_CELL:Int │ - ├─ 54 + ├─ 51 │ k: #addr [ CALL ] ~> #exec [ CALL ] ~> #pc [ CALL ] ~> #execute ~> CONTINUATION:K │ pc: 138 │ callDepth: CALLDEPTH_CELL:Int @@ -480,7 +457,7 @@ │ method: test%TGovernance.getEscrowTokenTotalSupply() │ │ (83 steps) - └─ 42 (leaf, pending) + └─ 43 (leaf, pending) k: #halt ~> CONTINUATION:K pc: 153 callDepth: CALLDEPTH_CELL:Int @@ -660,6 +637,29 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -918,6 +918,29 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -1189,6 +1212,29 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -1460,6 +1506,29 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -1724,6 +1793,29 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -1809,6 +1901,8 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 ~> #return 128 32 ~> #pc [ CALL ] ) ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 128 32 ~> #execute ~> _CONTINUATION:K @@ -1852,7 +1946,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 false - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int C_TGOVERNANCE_ID:Int @@ -1869,7 +1963,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 ... - NOG0:Int + NOG:Int @@ -1950,19 +2044,19 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 NCL:Int - NOG0:Int + NOG:Int true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -1995,13 +2089,38 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int @@ -2024,7 +2143,6 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 andBool ( CALLER_ID:Int + rule [BASIC-BLOCK-19-TO-39]: ( #next [ CALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 @@ -2143,7 +2260,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 ... - NOG:Int + ORIGIN_ID:Int @@ -2224,7 +2341,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 NCL:Int - NOG:Int + .Account true @@ -2269,15 +2386,38 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int @@ -2344,7 +2484,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 orBool ( 10 @@ -2355,8 +2495,6 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 ~> #return 128 32 ~> #pc [ CALL ] ) ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 128 32 ~> #execute ~> _CONTINUATION:K @@ -2400,7 +2538,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 false - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int C_TGOVERNANCE_ID:Int @@ -2417,7 +2555,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 ... - ORIGIN_ID:Int + NOG0:Int @@ -2498,19 +2636,19 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 NCL:Int - .Account + NOG0:Int true - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -2543,15 +2681,36 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int @@ -2574,6 +2733,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 andBool ( CALLER_ID:Int - - - ( #next [ CALL ] ~> .K => #injectPrank - ~> #next [ CALL ] - ~> #endPrank ) - ~> #checkRevert - ~> #updateRevertOutput 128 32 - ~> #execute - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - - C_TGOVERNANCE_ID:Int - - - CALLER_ID:Int - - - b"z\xdb@\x8d" - - - 0 - - - ( 0 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 128 : ( 4 : ( 128 : ( 32 : ( 132 : ( 1474266187 : ( C_TGOVERNANCE_ESCROW_ID:Int : ( 0 : ( 51 : ( 2061189261 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00W\xdf\x84K\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - false - - - EXPECTEDDEPTH_CELL:Int - - - C_TGOVERNANCE_ID:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - - MIXHASH_CELL:Int - - ... - - ... - - - - 1 - - - ( - - C_TGOVERNANCE_ESCROW_ID:Int - - - C_TGOVERNANCE_ESCROW_BAL:Int - - - ( ( 0 |-> #asWord ( C_TGOVERNANCE_ESCROW_TOKEN_SLOT_BEFORE:Bytes +Bytes #buf ( 20 , C_TGOVERNANCE_ESCROW_TOKEN_ID:Int ) +Bytes C_TGOVERNANCE_ESCROW_TOKEN_SLOT_AFTER:Bytes ) ) - C_TGOVERNANCE_ESCROW_STORAGE:Map ) - - - C_TGOVERNANCE_ESCROW_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_BAL:Int - - - C_TGOVERNANCE_ESCROW_TOKEN_NONCE:Int - - ... - - ( - - C_TGOVERNANCE_ID:Int - - - C_TGOVERNANCE_BAL:Int - - - ( ( 0 |-> C_TGOVERNANCE_ESCROW_ID:Int ) - C_TGOVERNANCE_STORAGE:Map ) - - - C_TGOVERNANCE_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ( ACTIVE_CELL:Bool => true ) - - - ( DEPTH_CELL:Int => EXPECTEDDEPTH_CELL:Int ) - - ... - - - - true - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - ... - - - requires ( ACTIVE_CELL:Bool - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( 0 <=Int C_TGOVERNANCE_ID:Int - andBool ( 0 <=Int C_TGOVERNANCE_BAL:Int - andBool ( pow24 - C_TGOVERNANCE_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_TGOVERNANCE_ESCROW_TOKEN_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( CALLER_ID:Int <=Int 0 - orBool ( 10 .K =/=K C_TGOVERNANCE_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-26-TO-50)] - - rule [BASIC-BLOCK-53-TO-41]: + rule [BASIC-BLOCK-50-TO-42]: ( #addr [ CALL ] @@ -3240,6 +3137,29 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -3311,9 +3231,9 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 andBool ( ( notBool ( CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_TGOVERNANCE_ID:Int ) ) ) ))))))))))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-53-TO-41)] + [priority(20), label(BASIC-BLOCK-50-TO-42)] - rule [BASIC-BLOCK-54-TO-42]: + rule [BASIC-BLOCK-51-TO-43]: ( #addr [ CALL ] @@ -3508,6 +3428,29 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -3579,6 +3522,6 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 andBool ( ( notBool ( CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_TGOVERNANCE_ID:Int ) ) ) ))))))))))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-54-TO-42)] + [priority(20), label(BASIC-BLOCK-51-TO-43)] endmodule \ No newline at end of file diff --git a/src/tests/integration/test-data/show/UnitTest.test_checkInitialBalance(uint256).expected b/src/tests/integration/test-data/show/UnitTest.test_checkInitialBalance(uint256).expected index 9410ff613..60534f76c 100644 --- a/src/tests/integration/test-data/show/UnitTest.test_checkInitialBalance(uint256).expected +++ b/src/tests/integration/test-data/show/UnitTest.test_checkInitialBalance(uint256).expected @@ -13,7 +13,7 @@ │ pc: 16687 │ callDepth: 0 │ statusCode: STATUSCODE:StatusCode -│ src: lib/forge-std/src/console.sol:10:12 +│ src: lib/forge-std/src/console.sol:9:11 │ method: test%UnitTest.test_checkInitialBalance(uint256) │ │ (1 step) @@ -22,7 +22,7 @@ │ pc: 16687 │ callDepth: 0 │ statusCode: STATUSCODE:StatusCode -│ src: lib/forge-std/src/console.sol:10:12 +│ src: lib/forge-std/src/console.sol:9:11 │ method: test%UnitTest.test_checkInitialBalance(uint256) │ │ (646 steps) @@ -31,7 +31,7 @@ │ pc: 16687 │ callDepth: 0 │ statusCode: STATUSCODE:StatusCode -│ src: lib/forge-std/src/console.sol:10:12 +│ src: lib/forge-std/src/console.sol:9:11 │ method: test%UnitTest.test_checkInitialBalance(uint256) │ │ (1 step) @@ -40,7 +40,7 @@ │ pc: 16687 │ callDepth: 0 │ statusCode: STATUSCODE:StatusCode -│ src: lib/forge-std/src/console.sol:10:12 +│ src: lib/forge-std/src/console.sol:9:11 │ method: test%UnitTest.test_checkInitialBalance(uint256) │ │ (205 steps) @@ -279,6 +279,9 @@ module SUMMARY-TEST%UNITTEST.TEST-CHECKINITIALBALANCE(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int KV0_amount:Int @@ -505,6 +508,9 @@ module SUMMARY-TEST%UNITTEST.TEST-CHECKINITIALBALANCE(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int KV0_amount:Int @@ -731,6 +737,9 @@ module SUMMARY-TEST%UNITTEST.TEST-CHECKINITIALBALANCE(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int KV0_amount:Int @@ -957,6 +966,9 @@ module SUMMARY-TEST%UNITTEST.TEST-CHECKINITIALBALANCE(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int KV0_amount:Int @@ -1185,6 +1197,9 @@ module SUMMARY-TEST%UNITTEST.TEST-CHECKINITIALBALANCE(UINT256):0 .MockFunctionCellMap + + .Map + requires ( 0 <=Int KV0_amount:Int diff --git a/src/tests/integration/test-data/show/gas-abstraction.expected b/src/tests/integration/test-data/show/gas-abstraction.expected index 773015375..851e52913 100644 --- a/src/tests/integration/test-data/show/gas-abstraction.expected +++ b/src/tests/integration/test-data/show/gas-abstraction.expected @@ -405,6 +405,29 @@ Node 6: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + @@ -626,6 +649,29 @@ module SUMMARY-TEST%GASTEST.TESTINFINITEGAS():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -843,6 +889,29 @@ module SUMMARY-TEST%GASTEST.TESTINFINITEGAS():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1060,6 +1129,29 @@ module SUMMARY-TEST%GASTEST.TESTINFINITEGAS():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/merge-loop-heads.expected b/src/tests/integration/test-data/show/merge-loop-heads.expected index b681d8e1e..b0c761b50 100644 --- a/src/tests/integration/test-data/show/merge-loop-heads.expected +++ b/src/tests/integration/test-data/show/merge-loop-heads.expected @@ -409,6 +409,29 @@ Node 21: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -639,6 +662,29 @@ Node 22: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -869,6 +915,29 @@ Node 23: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -1097,6 +1166,29 @@ module SUMMARY-TEST%BMCLOOPSTEST.TEST-BMC(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_n:Int @@ -1319,6 +1411,29 @@ module SUMMARY-TEST%BMCLOOPSTEST.TEST-BMC(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 1 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_n:Int diff --git a/src/tests/integration/test-data/show/minimized/AssertTest.testFail_expect_revert().expected b/src/tests/integration/test-data/show/minimized/AssertTest.testFail_expect_revert().expected index b3ca4bdc9..6bb388f44 100644 --- a/src/tests/integration/test-data/show/minimized/AssertTest.testFail_expect_revert().expected +++ b/src/tests/integration/test-data/show/minimized/AssertTest.testFail_expect_revert().expected @@ -242,6 +242,29 @@ Node 20: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -255,7 +278,7 @@ Node 20: -module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 +module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():1 rule [BASIC-BLOCK-1-TO-20]: @@ -473,6 +496,29 @@ module SUMMARY-TEST%ASSERTTEST.TESTFAIL-EXPECT-REVERT():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/minimized/AssertTest.test_assert_false().expected b/src/tests/integration/test-data/show/minimized/AssertTest.test_assert_false().expected index 8001d9fe1..7c7b5774f 100644 --- a/src/tests/integration/test-data/show/minimized/AssertTest.test_assert_false().expected +++ b/src/tests/integration/test-data/show/minimized/AssertTest.test_assert_false().expected @@ -236,6 +236,29 @@ Node 10: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -249,7 +272,7 @@ Node 10: -module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-FALSE():0 +module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-FALSE():1 rule [BASIC-BLOCK-1-TO-10]: @@ -462,6 +485,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-FALSE():0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/minimized/AssertTest.test_failing_branch(uint256).expected b/src/tests/integration/test-data/show/minimized/AssertTest.test_failing_branch(uint256).expected index e901bad1a..c14bca51c 100644 --- a/src/tests/integration/test-data/show/minimized/AssertTest.test_failing_branch(uint256).expected +++ b/src/tests/integration/test-data/show/minimized/AssertTest.test_failing_branch(uint256).expected @@ -281,6 +281,29 @@ Node 16: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -297,7 +320,7 @@ Node 16: -module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 +module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):1 rule [BASIC-BLOCK-1-TO-8]: @@ -509,6 +532,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -735,6 +781,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -961,6 +1030,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int diff --git a/src/tests/integration/test-data/show/minimized/AssertTest.test_revert_branch(uint256,uint256).expected b/src/tests/integration/test-data/show/minimized/AssertTest.test_revert_branch(uint256,uint256).expected index 52337923a..9716206dd 100644 --- a/src/tests/integration/test-data/show/minimized/AssertTest.test_revert_branch(uint256,uint256).expected +++ b/src/tests/integration/test-data/show/minimized/AssertTest.test_revert_branch(uint256,uint256).expected @@ -30,7 +30,7 @@ ┃ │ method: test%AssertTest.test_revert_branch(uint256,uint256) ┃ │ ┃ │ (75 steps) -┃ └─ 15 (leaf, terminal) +┃ └─ 14 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 2995 ┃ callDepth: 0 @@ -49,9 +49,9 @@ │ src: lib/forge-std/lib/ds-test/src/test.sol:48:62 │ method: test%AssertTest.test_revert_branch(uint256,uint256) │ - │ (40 steps) - └─ 16 (leaf, pending) - k: #halt ~> CONTINUATION:K + │ (38 steps) + └─ 15 (leaf, pending) + k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K pc: 328 callDepth: 0 statusCode: EVMC_SUCCESS @@ -66,13 +66,15 @@ │ statusCode: STATUSCODE_FINAL:StatusCode -Node 16: +Node 15: ( #halt + ~> #pc [ STOP ] + ~> #execute ~> CONTINUATION:K @@ -279,6 +281,29 @@ Node 16: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -297,7 +322,7 @@ Node 16: -Node 15: +Node 14: ( @@ -510,6 +535,29 @@ Node 15: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -528,7 +576,7 @@ Node 15: -module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 +module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):1 rule [BASIC-BLOCK-1-TO-8]: @@ -740,6 +788,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -756,7 +827,7 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 )))) [priority(20), label(BASIC-BLOCK-1-TO-8)] - rule [BASIC-BLOCK-9-TO-15]: + rule [BASIC-BLOCK-9-TO-14]: ( JUMPI 1594 bool2Word ( KV1_y:Int <=Int KV0_x:Int ) @@ -968,6 +1039,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -982,14 +1076,15 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 andBool ( KV1_y:Int + rule [BASIC-BLOCK-10-TO-15]: ( JUMPI 1594 bool2Word ( KV1_y:Int <=Int KV0_x:Int ) - ~> #pc [ JUMPI ] - ~> #execute => #halt ~> .K ) + ~> #pc [ JUMPI ] => #halt + ~> #pc [ STOP ] ) + ~> #execute ~> _CONTINUATION:K @@ -1196,6 +1291,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -1210,18 +1328,18 @@ module SUMMARY-TEST%ASSERTTEST.TEST-REVERT-BRANCH(UINT256,UINT256):0 andBool ( KV1_y:Int CONTINUATION:K ┃ │ pc: 194 ┃ │ callDepth: 0 @@ -53,7 +53,7 @@ ┃ ┃ KV2_z:Int ==Int 0 ┃ ┃ ( KV0_x:Int ==Int 0 orBool KV1_y:Int <=Int maxUInt256 /Word KV0_x:Int ) ┃ │ -┃ ├─ 42 (terminal) +┃ ├─ 43 (terminal) ┃ │ k: #halt ~> CONTINUATION:K ┃ │ pc: 194 ┃ │ callDepth: 0 @@ -75,7 +75,7 @@ ┃ ( notBool KV0_x:Int ==Int 0 ) ┃ ( maxUInt256 /Int KV0_x:Int ) CONTINUATION:K │ pc: 194 │ callDepth: 0 @@ -473,6 +473,29 @@ Node 19: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -850,6 +873,29 @@ Node 44: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -1228,6 +1274,29 @@ Node 45: .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + ... @@ -1627,6 +1696,29 @@ module SUMMARY-TEST%MERGEKCFGTEST.TEST-BRANCH-MERGE(UINT256,UINT256,BOOL):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -2002,6 +2094,29 @@ module SUMMARY-TEST%MERGEKCFGTEST.TEST-BRANCH-MERGE(UINT256,UINT256,BOOL):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( KV2_z:Int .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -528,6 +551,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-TRUE-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -751,6 +797,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-TRUE-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_x:Int @@ -974,6 +1043,29 @@ module SUMMARY-TEST%ASSERTTEST.TEST-ASSERT-TRUE-BRANCH(UINT256):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( KV0_x:Int .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( KV0_x:Int .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( KV0_x:Int #checkCall # ... ┃ │ pc: 3369 ┃ │ callDepth: 0 @@ -145,7 +145,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (18 steps) - ┃ ├─ 89 + ┃ ├─ 95 ┃ │ k: #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> # ... ┃ │ pc: 0 ┃ │ callDepth: 1 @@ -154,7 +154,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 93 + ┃ ├─ 98 ┃ │ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 0 ┃ │ callDepth: 1 @@ -163,7 +163,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (320 steps) - ┃ ├─ 97 + ┃ ├─ 102 ┃ │ k: #end EVMC_SUCCESS ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATI ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -172,7 +172,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 101 + ┃ ├─ 106 ┃ │ k: #halt ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> # ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -181,7 +181,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (2 steps) - ┃ ├─ 105 + ┃ ├─ 110 ┃ │ k: #halt ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -190,7 +190,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 109 + ┃ ├─ 114 ┃ │ k: #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 ~> #setLocalMem 128 ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -199,7 +199,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (548 steps) - ┃ ├─ 113 + ┃ ├─ 118 ┃ │ k: CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> #pc [ CALL ] ~> #execute ~> CO ... ┃ │ pc: 1578 ┃ │ callDepth: 0 @@ -208,7 +208,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 117 + ┃ ├─ 121 ┃ │ k: #accessAccounts #address ( FoundryCheat ) ~> #checkCall #address ( FoundryTest ) ... ┃ │ pc: 1578 ┃ │ callDepth: 0 @@ -217,7 +217,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (102 steps) - ┃ ├─ 121 + ┃ ├─ 125 ┃ │ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -226,7 +226,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 125 + ┃ ├─ 128 ┃ │ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -235,7 +235,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (2 steps) - ┃ ├─ 129 (terminal) + ┃ ├─ 131 (terminal) ┃ │ k: #halt ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -269,7 +269,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 86 + ┃ ├─ 85 ┃ │ k: #accessAccounts 491460923342184218035706888008750043977755113263 ~> #checkCall # ... ┃ │ pc: 3369 ┃ │ callDepth: 0 @@ -277,7 +277,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (18 steps) - ┃ ├─ 90 + ┃ ├─ 89 ┃ │ k: #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> # ... ┃ │ pc: 0 ┃ │ callDepth: 1 @@ -286,7 +286,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 94 + ┃ ├─ 92 ┃ │ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute ~> CON ... ┃ │ pc: 0 ┃ │ callDepth: 1 @@ -295,7 +295,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (320 steps) - ┃ ├─ 98 + ┃ ├─ 96 ┃ │ k: #end EVMC_SUCCESS ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATI ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -304,7 +304,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 102 + ┃ ├─ 100 ┃ │ k: #halt ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> # ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -313,7 +313,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (2 steps) - ┃ ├─ 106 + ┃ ├─ 104 ┃ │ k: #halt ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTIN ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -322,7 +322,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 110 + ┃ ├─ 108 ┃ │ k: #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 ~> #setLocalMem 128 ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -331,7 +331,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (549 steps) - ┃ ├─ 114 + ┃ ├─ 112 ┃ │ k: CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> #pc [ CALL ] ~> #execute ~> CO ... ┃ │ pc: 1578 ┃ │ callDepth: 0 @@ -340,7 +340,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 118 + ┃ ├─ 116 ┃ │ k: #accessAccounts #address ( FoundryCheat ) ~> #checkCall #address ( FoundryTest ) ... ┃ │ pc: 1578 ┃ │ callDepth: 0 @@ -349,7 +349,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (102 steps) - ┃ ├─ 122 + ┃ ├─ 123 ┃ │ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -358,7 +358,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 126 + ┃ ├─ 127 ┃ │ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -418,7 +418,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 95 + ┃ ├─ 94 ┃ │ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute ~> CON ... ┃ │ pc: 0 ┃ │ callDepth: 1 @@ -427,7 +427,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (320 steps) - ┃ ├─ 99 + ┃ ├─ 101 ┃ │ k: #end EVMC_SUCCESS ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATI ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -436,7 +436,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 103 + ┃ ├─ 105 ┃ │ k: #halt ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> # ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -445,7 +445,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (2 steps) - ┃ ├─ 107 + ┃ ├─ 109 ┃ │ k: #halt ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTIN ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -454,7 +454,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 111 + ┃ ├─ 113 ┃ │ k: #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 ~> #setLocalMem 128 ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -463,7 +463,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (549 steps) - ┃ ├─ 115 + ┃ ├─ 117 ┃ │ k: CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> #pc [ CALL ] ~> #execute ~> CO ... ┃ │ pc: 1578 ┃ │ callDepth: 0 @@ -472,7 +472,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 119 + ┃ ├─ 122 ┃ │ k: #accessAccounts #address ( FoundryCheat ) ~> #checkCall #address ( FoundryTest ) ... ┃ │ pc: 1578 ┃ │ callDepth: 0 @@ -481,7 +481,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (102 steps) - ┃ ├─ 123 + ┃ ├─ 126 ┃ │ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -490,7 +490,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 127 + ┃ ├─ 129 ┃ │ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -499,7 +499,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (2 steps) - ┃ ├─ 131 (terminal) + ┃ ├─ 132 (terminal) ┃ │ k: #halt ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -533,7 +533,7 @@ │ method: test%PrankTest.testSymbolicStartPrank(address) │ │ (1 step) - ├─ 88 + ├─ 86 │ k: #accessAccounts 491460923342184218035706888008750043977755113263 ~> #checkCall K ... │ pc: 3369 │ callDepth: 0 @@ -541,7 +541,7 @@ │ method: test%PrankTest.testSymbolicStartPrank(address) │ │ (18 steps) - ├─ 92 + ├─ 90 │ k: #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> # ... │ pc: 0 │ callDepth: 1 @@ -550,7 +550,7 @@ │ method: src%Prank.msgSender() │ │ (1 step) - ├─ 96 + ├─ 93 │ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute ~> CON ... │ pc: 0 │ callDepth: 1 @@ -559,7 +559,7 @@ │ method: src%Prank.msgSender() │ │ (320 steps) - ├─ 100 + ├─ 97 │ k: #end EVMC_SUCCESS ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATI ... │ pc: 130 │ callDepth: 1 @@ -568,7 +568,7 @@ │ method: src%Prank.msgSender() │ │ (1 step) - ├─ 104 + ├─ 99 │ k: #halt ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> # ... │ pc: 130 │ callDepth: 1 @@ -577,7 +577,7 @@ │ method: src%Prank.msgSender() │ │ (2 steps) - ├─ 108 + ├─ 103 │ k: #halt ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTIN ... │ pc: 130 │ callDepth: 1 @@ -586,7 +586,7 @@ │ method: src%Prank.msgSender() │ │ (1 step) - ├─ 112 + ├─ 107 │ k: #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 ~> #setLocalMem 128 ... │ pc: 130 │ callDepth: 1 @@ -595,7 +595,7 @@ │ method: src%Prank.msgSender() │ │ (549 steps) - ├─ 116 + ├─ 111 │ k: CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> #pc [ CALL ] ~> #execute ~> CO ... │ pc: 1578 │ callDepth: 0 @@ -604,7 +604,7 @@ │ method: test%PrankTest.testSymbolicStartPrank(address) │ │ (1 step) - ├─ 120 + ├─ 115 │ k: #accessAccounts #address ( FoundryCheat ) ~> #checkCall #address ( FoundryTest ) ... │ pc: 1578 │ callDepth: 0 @@ -613,7 +613,7 @@ │ method: test%PrankTest.testSymbolicStartPrank(address) │ │ (102 steps) - ├─ 124 + ├─ 119 │ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K │ pc: 292 │ callDepth: 0 @@ -622,7 +622,7 @@ │ method: test%PrankTest.testSymbolicStartPrank(address) │ │ (1 step) - ├─ 128 + ├─ 120 │ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K │ pc: 292 │ callDepth: 0 @@ -631,7 +631,7 @@ │ method: test%PrankTest.testSymbolicStartPrank(address) │ │ (2 steps) - ├─ 132 (terminal) + ├─ 124 (terminal) │ k: #halt ~> CONTINUATION:K │ pc: 292 │ callDepth: 0 @@ -907,6 +907,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1149,6 +1172,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int MIXHASH_CELL:Int @@ -1393,6 +1439,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_addr:Int @@ -1639,6 +1708,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_addr:Int @@ -1887,6 +1979,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_addr:Int @@ -2150,6 +2265,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) @@ -2413,6 +2551,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) @@ -2676,6 +2837,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 @@ -2981,6 +3165,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_addr:Int @@ -3000,14 +3207,15 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 )))))))))))))) [priority(20), label(BASIC-BLOCK-80-TO-84)] - rule [BASIC-BLOCK-81-TO-85]: + rule [BASIC-BLOCK-82-TO-85]: ( STATICCALL 0 491460923342184218035706888008750043977755113263 128 4 128 32 ~> .K => #accessAccounts 491460923342184218035706888008750043977755113263 - ~> #checkCall #address ( FoundryTest ) 0 - ~> #call #address ( FoundryTest ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true + ~> #checkCall #address ( FoundryCheat ) 0 + ~> #call #address ( FoundryCheat ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true ~> #return 128 32 ) ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -3036,22 +3244,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #address ( FoundryTest ) + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -3078,7 +3286,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( #address ( FoundryTest ) ) ) + SetItem ( #address ( FoundryCheat ) ) .Map @@ -3191,7 +3399,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + #address ( FoundryCheat ) .Account @@ -3247,9 +3455,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-84-TO-86]: ( STATICCALL 0 491460923342184218035706888008750043977755113263 128 4 128 32 ~> .K => #accessAccounts 491460923342184218035706888008750043977755113263 - ~> #checkCall #address ( FoundryCheat ) 0 - ~> #call #address ( FoundryCheat ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true + ~> #checkCall KV0_addr:Int 0 + ~> #call KV0_addr:Int 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true ~> #return 128 32 ) ~> #pc [ STATICCALL ] ~> #endPrank @@ -3299,22 +3530,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #address ( FoundryCheat ) + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -3341,7 +3572,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) .Map @@ -3415,7 +3646,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -3435,7 +3666,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -3454,7 +3706,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + KV0_addr:Int .Account @@ -3510,20 +3762,47 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 @@ -3773,6 +4052,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 @@ -3788,15 +4090,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 )))))))))) [priority(20), label(BASIC-BLOCK-83-TO-87)] - rule [BASIC-BLOCK-84-TO-88]: + rule [BASIC-BLOCK-81-TO-88]: ( STATICCALL 0 491460923342184218035706888008750043977755113263 128 4 128 32 ~> .K => #accessAccounts 491460923342184218035706888008750043977755113263 - ~> #checkCall KV0_addr:Int 0 - ~> #call KV0_addr:Int 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true + ~> #checkCall #address ( FoundryTest ) 0 + ~> #call #address ( FoundryTest ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true ~> #return 128 32 ) ~> #pc [ STATICCALL ] - ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -3825,22 +4126,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - KV0_addr:Int + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -3867,7 +4168,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( #address ( FoundryTest ) ) ) .Map @@ -3941,7 +4242,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -3961,28 +4262,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -4001,7 +4281,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryTest ) .Account @@ -4057,34 +4337,54 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 ( #accessAccounts 491460923342184218035706888008750043977755113263 - ~> #checkCall #address ( FoundryTest ) 0 - ~> #call #address ( FoundryTest ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true => #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) + ~> #checkCall #address ( FoundryCheat ) 0 + ~> #call #address ( FoundryCheat ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true => #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> #execute ) ~> #return 128 32 ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -4105,22 +4405,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( .List => ListItem ( - #address ( FoundryTest ) + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -4216,7 +4516,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -4227,26 +4527,26 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) ) - ( .Set => ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( .Set => ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) - ( #address ( FoundryTest ) => 491460923342184218035706888008750043977755113263 ) + ( #address ( FoundryCheat ) => 491460923342184218035706888008750043977755113263 ) - ( 137122462167341575662000267002353578582749290296 => #address ( FoundryTest ) ) + ( 137122462167341575662000267002353578582749290296 => #address ( FoundryCheat ) ) - ( b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" => b"\xd77\xd0\xc7" ) + ( b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" => b"\xd77\xd0\xc7" ) 0 - ( ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) => .WordStack ) + ( ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) => .WordStack ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" => b"" ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" => b"" ) 0 @@ -4276,7 +4576,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( ( #address ( FoundryCheat ) => 491460923342184218035706888008750043977755113263 ) ) ( SetItem ( #address ( FoundryTest ) ) => ( SetItem ( #address ( FoundryCheat ) ) SetItem ( #address ( FoundryTest ) ) ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) => ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -4388,7 +4688,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + #address ( FoundryCheat ) .Account @@ -4444,9 +4744,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 ( #accessAccounts 491460923342184218035706888008750043977755113263 - ~> #checkCall #address ( FoundryCheat ) 0 - ~> #call #address ( FoundryCheat ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true => #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) + ~> #checkCall KV0_addr:Int 0 + ~> #call KV0_addr:Int 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true => #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> #execute ) ~> #return 128 32 ~> #pc [ STATICCALL ] @@ -4489,22 +4812,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( .List => ListItem ( - #address ( FoundryCheat ) + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -4568,7 +4891,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -4588,7 +4911,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) | SELFDESTRUCT_CELL:Set @@ -4600,7 +4944,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -4611,26 +4955,26 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) ) - ( .Set => ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( .Set => SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) ) - ( #address ( FoundryCheat ) => 491460923342184218035706888008750043977755113263 ) + ( KV0_addr:Int => 491460923342184218035706888008750043977755113263 ) - ( 137122462167341575662000267002353578582749290296 => #address ( FoundryCheat ) ) + ( 137122462167341575662000267002353578582749290296 => KV0_addr:Int ) - ( b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" => b"\xd77\xd0\xc7" ) + ( b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) => b"\xd77\xd0\xc7" ) 0 - ( ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) => .WordStack ) + ( ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) => .WordStack ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" => b"" ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) => b"" ) 0 @@ -4660,7 +5004,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) => ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) => SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) ) |Set SetItem ( ( KV0_addr:Int => 491460923342184218035706888008750043977755113263 ) ) .Map @@ -4733,7 +5077,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -4753,10 +5097,31 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) - - ... - + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) + + ... + ... @@ -4772,7 +5137,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + KV0_addr:Int .Account @@ -4828,19 +5193,46 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 @@ -5212,6 +5604,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 @@ -5227,13 +5642,11 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 )))))))))) [priority(20), label(BASIC-BLOCK-87-TO-91)] - rule [BASIC-BLOCK-88-TO-92]: + rule [BASIC-BLOCK-89-TO-92]: - ( #accessAccounts 491460923342184218035706888008750043977755113263 - ~> #checkCall KV0_addr:Int 0 - ~> #call KV0_addr:Int 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true => #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) - ~> #execute ) + ( #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> .K => .K ) + ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank @@ -5255,24 +5668,24 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 b"" - ( .List => ListItem ( + ListItem ( - KV0_addr:Int + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -5290,10 +5703,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 #address ( FoundryTest ) ... - ) ) + ) - ( .List => ListItem ( { + ListItem ( { ( #address ( FoundryCheat ) @@ -5336,7 +5749,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -5356,28 +5769,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) | SELFDESTRUCT_CELL:Set @@ -5389,7 +5781,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -5397,29 +5789,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set - } ) ) + } ) - ( .Set => SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - ( KV0_addr:Int => 491460923342184218035706888008750043977755113263 ) + 491460923342184218035706888008750043977755113263 - ( 137122462167341575662000267002353578582749290296 => KV0_addr:Int ) + #address ( FoundryCheat ) - ( b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) => b"\xd77\xd0\xc7" ) + b"\xd77\xd0\xc7" 0 - ( ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) => .WordStack ) + .WordStack - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) => b"" ) + b"" 0 @@ -5428,13 +5820,13 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( false => true ) + true - ( 0 => 1 ) + 1 - ( #address ( FoundryTest ) => 491460923342184218035706888008750043977755113263 ) + 491460923342184218035706888008750043977755113263 ... @@ -5449,7 +5841,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) => SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) ) |Set SetItem ( ( KV0_addr:Int => 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -5522,7 +5914,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -5542,28 +5934,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -5582,7 +5953,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryCheat ) .Account @@ -5638,32 +6009,52 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-90-TO-93]: ( #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> .K => .K ) ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -5684,22 +6075,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ListItem ( - #address ( FoundryTest ) + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -5763,7 +6154,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -5783,7 +6174,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) | SELFDESTRUCT_CELL:Set @@ -5795,7 +6207,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -5806,14 +6218,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - #address ( FoundryTest ) + KV0_addr:Int b"\xd77\xd0\xc7" @@ -5855,7 +6267,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -5928,7 +6340,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -5948,7 +6360,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -5967,7 +6400,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + KV0_addr:Int .Account @@ -6023,22 +6456,49 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-91-TO-94]: ( #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> .K => .K ) @@ -6066,22 +6526,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ListItem ( - #address ( FoundryCheat ) + 491460923342184218035706888008750043977755113263 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" 0 @@ -6188,14 +6648,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - #address ( FoundryCheat ) + 491460923342184218035706888008750043977755113263 b"\xd77\xd0\xc7" @@ -6349,7 +6809,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + 491460923342184218035706888008750043977755113263 .Account @@ -6405,9 +6865,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-88-TO-95]: - ( #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> .K => .K ) - ~> #execute + ( #accessAccounts 491460923342184218035706888008750043977755113263 + ~> #checkCall #address ( FoundryTest ) 0 + ~> #call #address ( FoundryTest ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true => #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) + ~> #execute ) ~> #return 128 32 ~> #pc [ STATICCALL ] - ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -6446,24 +6930,24 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 b"" - ListItem ( + ( .List => ListItem ( - 491460923342184218035706888008750043977755113263 + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -6481,10 +6965,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 #address ( FoundryTest ) ... - ) + ) ) - ListItem ( { + ( .List => ListItem ( { ( #address ( FoundryCheat ) @@ -6559,7 +7043,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -6567,29 +7051,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set - } ) + } ) ) - SetItem ( 491460923342184218035706888008750043977755113263 ) + ( .Set => ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) - 491460923342184218035706888008750043977755113263 + ( #address ( FoundryTest ) => 491460923342184218035706888008750043977755113263 ) - 491460923342184218035706888008750043977755113263 + ( 137122462167341575662000267002353578582749290296 => #address ( FoundryTest ) ) - b"\xd77\xd0\xc7" + ( b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" => b"\xd77\xd0\xc7" ) 0 - .WordStack + ( ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) => .WordStack ) - b"" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" => b"" ) 0 @@ -6598,13 +7082,13 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - true + ( false => true ) - 1 + ( 0 => 1 ) - 491460923342184218035706888008750043977755113263 + ( #address ( FoundryTest ) => 491460923342184218035706888008750043977755113263 ) ... @@ -6619,7 +7103,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( ( #address ( FoundryCheat ) => 491460923342184218035706888008750043977755113263 ) ) ( SetItem ( #address ( FoundryTest ) ) => ( SetItem ( #address ( FoundryCheat ) ) SetItem ( #address ( FoundryTest ) ) ) ) ) .Map @@ -6731,7 +7215,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - 491460923342184218035706888008750043977755113263 + #address ( FoundryTest ) .Account @@ -6787,9 +7271,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> .K => .K ) + ( .K => #end EVMC_SUCCESS + ~> #pc [ RETURN ] ) ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] @@ -6825,27 +7333,27 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"" + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) ListItem ( - KV0_addr:Int + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -6909,7 +7417,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -6929,28 +7437,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) | SELFDESTRUCT_CELL:Set @@ -6962,7 +7449,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -6973,14 +7460,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - KV0_addr:Int + #address ( FoundryCheat ) b"\xd77\xd0\xc7" @@ -6989,10 +7476,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - .WordStack + ( .WordStack => ( 3610759367 : .WordStack ) ) - b"" + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) 0 @@ -7022,7 +7509,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -7095,7 +7582,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -7115,28 +7602,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -7155,7 +7621,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryCheat ) .Account @@ -7211,23 +7677,42 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 @@ -7238,6 +7723,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -7253,27 +7739,27 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) + ( b"" => #buf ( 32 , KV0_addr:Int ) ) ListItem ( - #address ( FoundryTest ) + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -7337,7 +7823,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -7357,7 +7843,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) | SELFDESTRUCT_CELL:Set @@ -7369,7 +7876,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -7380,14 +7887,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - #address ( FoundryTest ) + KV0_addr:Int b"\xd77\xd0\xc7" @@ -7399,7 +7906,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( .WordStack => ( 3610759367 : .WordStack ) ) - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) ) 0 @@ -7429,7 +7936,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -7502,7 +8009,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -7522,7 +8029,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -7541,7 +8069,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + KV0_addr:Int .Account @@ -7597,30 +8125,55 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-95-TO-98]: - ( .K => #end EVMC_SUCCESS - ~> #pc [ RETURN ] ) + ( #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> .K => .K ) ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] - ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -7636,27 +8189,27 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) + b"" ListItem ( - #address ( FoundryCheat ) + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -7752,7 +8305,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -7763,14 +8316,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - #address ( FoundryCheat ) + #address ( FoundryTest ) b"\xd77\xd0\xc7" @@ -7779,10 +8332,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( .WordStack => ( 3610759367 : .WordStack ) ) + .WordStack - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) + b"" 0 @@ -7812,7 +8365,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -7924,7 +8477,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + #address ( FoundryTest ) .Account @@ -7980,9 +8533,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-97-TO-99]: - ( .K => #end EVMC_SUCCESS - ~> #pc [ RETURN ] ) + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] @@ -8019,27 +8595,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) + #buf ( 32 , KV0_addr:Int ) + + ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) + ListItem ( - 491460923342184218035706888008750043977755113263 + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -8103,7 +8682,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -8123,22 +8702,43 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) - | - - SELFDESTRUCT_CELL:Set - - - .List - - - 0 - - - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - - - .Map + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) + | + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + + + .Map .Set @@ -8146,14 +8746,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int b"\xd77\xd0\xc7" @@ -8162,10 +8762,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( .WordStack => ( 3610759367 : .WordStack ) ) + ( 3610759367 : .WordStack ) - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) 0 @@ -8195,7 +8795,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -8268,7 +8868,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -8288,7 +8888,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -8307,7 +8928,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int .Account @@ -8363,26 +8984,53 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( .K => #end EVMC_SUCCESS - ~> #pc [ RETURN ] ) + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] @@ -8402,27 +9050,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( b"" => #buf ( 32 , KV0_addr:Int ) ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + + ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) + ListItem ( - KV0_addr:Int + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -8486,7 +9137,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -8506,28 +9157,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) | SELFDESTRUCT_CELL:Set @@ -8539,7 +9169,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -8550,14 +9180,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - KV0_addr:Int + #address ( FoundryCheat ) b"\xd77\xd0\xc7" @@ -8566,10 +9196,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( .WordStack => ( 3610759367 : .WordStack ) ) + ( 3610759367 : .WordStack ) - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 @@ -8599,7 +9229,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -8672,7 +9302,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -8692,28 +9322,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -8732,7 +9341,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryCheat ) .Account @@ -8788,33 +9397,53 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-94-TO-101]: - ( #end EVMC_SUCCESS => #halt ) - ~> #pc [ RETURN ] + ( .K => #end EVMC_SUCCESS + ~> #pc [ RETURN ] ) ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -8830,30 +9459,27 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) - - ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) - ListItem ( - #address ( FoundryTest ) + 491460923342184218035706888008750043977755113263 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" 0 @@ -8949,7 +9575,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -8960,14 +9586,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - #address ( FoundryTest ) + 491460923342184218035706888008750043977755113263 b"\xd77\xd0\xc7" @@ -8976,10 +9602,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( 3610759367 : .WordStack ) + ( .WordStack => ( 3610759367 : .WordStack ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) 0 @@ -9009,7 +9635,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -9121,7 +9747,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + 491460923342184218035706888008750043977755113263 .Account @@ -9177,9 +9803,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #end EVMC_SUCCESS => #halt ) - ~> #pc [ RETURN ] + ( .K => #end EVMC_SUCCESS + ~> #pc [ RETURN ] ) ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] - ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -9216,30 +9864,27 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) - - ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) - ListItem ( - #address ( FoundryCheat ) + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -9335,7 +9980,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -9346,14 +9991,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - #address ( FoundryCheat ) + #address ( FoundryTest ) b"\xd77\xd0\xc7" @@ -9362,10 +10007,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( 3610759367 : .WordStack ) + ( .WordStack => ( 3610759367 : .WordStack ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) 0 @@ -9395,7 +10040,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -9507,7 +10152,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + #address ( FoundryTest ) .Account @@ -9563,9 +10208,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #end EVMC_SUCCESS => #halt ) - ~> #pc [ RETURN ] - ~> #execute + #halt + ~> ( #pc [ RETURN ] + ~> #execute => .K ) ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank @@ -9602,30 +10270,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + #buf ( 32 , KV0_addr:Int ) - ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) + EVMC_SUCCESS ListItem ( - 491460923342184218035706888008750043977755113263 + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -9689,7 +10357,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -9709,7 +10377,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) | SELFDESTRUCT_CELL:Set @@ -9721,7 +10410,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -9732,14 +10421,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int b"\xd77\xd0\xc7" @@ -9751,7 +10440,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) 0 @@ -9781,7 +10470,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -9854,7 +10543,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -9874,7 +10563,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -9893,7 +10603,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int .Account @@ -9949,27 +10659,54 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #end EVMC_SUCCESS => #halt ) - ~> #pc [ RETURN ] - ~> #execute + #halt + ~> ( #pc [ RETURN ] + ~> #execute => .K ) ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank @@ -9988,30 +10725,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" - ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) + EVMC_SUCCESS ListItem ( - KV0_addr:Int + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -10075,7 +10812,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -10095,28 +10832,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) | SELFDESTRUCT_CELL:Set @@ -10128,7 +10844,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -10139,14 +10855,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - KV0_addr:Int + #address ( FoundryCheat ) b"\xd77\xd0\xc7" @@ -10158,7 +10874,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 @@ -10188,7 +10904,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -10261,7 +10977,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -10281,28 +10997,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -10321,7 +11016,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryCheat ) .Account @@ -10377,33 +11072,53 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - #halt - ~> ( #pc [ RETURN ] - ~> #execute => .K ) + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ RETURN ] + ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -10419,30 +11134,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" - EVMC_SUCCESS + ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) ListItem ( - #address ( FoundryTest ) + 491460923342184218035706888008750043977755113263 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" 0 @@ -10538,7 +11253,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -10549,14 +11264,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - #address ( FoundryTest ) + 491460923342184218035706888008750043977755113263 b"\xd77\xd0\xc7" @@ -10568,7 +11283,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 @@ -10598,7 +11313,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -10710,7 +11425,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + 491460923342184218035706888008750043977755113263 .Account @@ -10766,9 +11481,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - #halt - ~> ( #pc [ RETURN ] - ~> #execute => .K ) + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ RETURN ] + ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] - ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -10805,30 +11542,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" - EVMC_SUCCESS + ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) ListItem ( - #address ( FoundryCheat ) + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -10924,7 +11661,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -10935,14 +11672,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - #address ( FoundryCheat ) + #address ( FoundryTest ) b"\xd77\xd0\xc7" @@ -10954,7 +11691,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 @@ -10984,7 +11721,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -11096,7 +11833,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + #address ( FoundryTest ) .Account @@ -11152,9 +11889,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - #halt - ~> ( #pc [ RETURN ] - ~> #execute => .K ) - ~> #return 128 32 + ( #halt + ~> #return 128 32 => #popCallStack + ~> #dropWorldState + ~> 1 + ~> #push + ~> #refund 0 + ~> #setLocalMem 128 32 #buf ( 32 , KV0_addr:Int ) ) ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute @@ -11191,7 +11954,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + #buf ( 32 , KV0_addr:Int ) EVMC_SUCCESS @@ -11199,22 +11962,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ListItem ( - 491460923342184218035706888008750043977755113263 + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -11278,7 +12041,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -11298,19 +12061,40 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) - | - - SELFDESTRUCT_CELL:Set - - - .List - + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) + | + + SELFDESTRUCT_CELL:Set + + + .List + 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -11321,14 +12105,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int b"\xd77\xd0\xc7" @@ -11340,7 +12124,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) 0 @@ -11370,7 +12154,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -11443,7 +12227,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -11463,7 +12247,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -11482,7 +12287,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int .Account @@ -11538,28 +12343,58 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - #halt - ~> ( #pc [ RETURN ] - ~> #execute => .K ) - ~> #return 128 32 + ( #halt + ~> #return 128 32 => #popCallStack + ~> #dropWorldState + ~> 1 + ~> #push + ~> #refund 0 + ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute @@ -11577,7 +12412,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" EVMC_SUCCESS @@ -11585,22 +12420,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ListItem ( - KV0_addr:Int + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -11664,7 +12499,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -11684,28 +12519,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) | SELFDESTRUCT_CELL:Set @@ -11717,7 +12531,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -11728,14 +12542,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - KV0_addr:Int + #address ( FoundryCheat ) b"\xd77\xd0\xc7" @@ -11747,7 +12561,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 @@ -11777,7 +12591,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -11850,7 +12664,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -11870,28 +12684,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -11910,7 +12703,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryCheat ) .Account @@ -11966,36 +12759,53 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #halt - ~> #return 128 32 => #popCallStack - ~> #dropWorldState - ~> 1 - ~> #push - ~> #refund 0 - ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) + #halt + ~> ( #pc [ RETURN ] + ~> #execute => .K ) + ~> #return 128 32 ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -12011,7 +12821,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" EVMC_SUCCESS @@ -12019,22 +12829,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ListItem ( - #address ( FoundryTest ) + 491460923342184218035706888008750043977755113263 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" 0 @@ -12130,7 +12940,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -12141,14 +12951,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - #address ( FoundryTest ) + 491460923342184218035706888008750043977755113263 b"\xd77\xd0\xc7" @@ -12160,7 +12970,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 @@ -12190,7 +13000,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -12302,7 +13112,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + 491460923342184218035706888008750043977755113263 .Account @@ -12358,9 +13168,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #halt - ~> #return 128 32 => #popCallStack - ~> #dropWorldState - ~> 1 - ~> #push - ~> #refund 0 - ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) + #halt + ~> ( #pc [ RETURN ] + ~> #execute => .K ) + ~> #return 128 32 ~> #pc [ STATICCALL ] - ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -12400,7 +13229,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" EVMC_SUCCESS @@ -12408,22 +13237,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ListItem ( - #address ( FoundryCheat ) + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -12519,7 +13348,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -12530,14 +13359,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - #address ( FoundryCheat ) + #address ( FoundryTest ) b"\xd77\xd0\xc7" @@ -12549,7 +13378,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 @@ -12579,7 +13408,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -12691,7 +13520,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + #address ( FoundryTest ) .Account @@ -12747,9 +13576,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #halt - ~> #return 128 32 => #popCallStack + ( #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 - ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) + ~> #setLocalMem 128 32 #buf ( 32 , KV0_addr:Int ) ~> #pc [ STATICCALL ] - ~> #endPrank + ~> #endPrank => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 + ~> #pc [ CALL ] ) ~> #execute ~> _CONTINUATION:K @@ -12789,30 +13641,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + #buf ( 32 , KV0_addr:Int ) EVMC_SUCCESS - ListItem ( + ( ListItem ( - 491460923342184218035706888008750043977755113263 + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -12830,10 +13682,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 #address ( FoundryTest ) ... - ) + ) => .List ) - ListItem ( { + ( ListItem ( { ( #address ( FoundryCheat ) @@ -12876,7 +13728,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -12896,7 +13748,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) | SELFDESTRUCT_CELL:Set @@ -12908,7 +13781,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -12916,29 +13789,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set - } ) + } ) => .List ) - SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) - 491460923342184218035706888008750043977755113263 + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) - 491460923342184218035706888008750043977755113263 + ( KV0_addr:Int => 137122462167341575662000267002353578582749290296 ) - b"\xd77\xd0\xc7" + ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) ) 0 - ( 3610759367 : .WordStack ) + ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_addr:Int ) => #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -12947,13 +13820,13 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - true + ( true => false ) - 1 + ( 1 => 0 ) - 491460923342184218035706888008750043977755113263 + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) ... @@ -12968,7 +13841,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) => SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) ) |Set SetItem ( ( KV0_addr:Int => 491460923342184218035706888008750043977755113263 ) ) |Set SetItem ( ( 491460923342184218035706888008750043977755113263 => #address ( FoundryCheat ) ) ) .Map @@ -13041,7 +13914,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -13061,7 +13934,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -13080,7 +13974,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int .Account @@ -13136,33 +14030,60 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #halt - ~> #return 128 32 => #popCallStack + ( #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 - ~> #setLocalMem 128 32 #buf ( 32 , KV0_addr:Int ) ) + ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ~> #pc [ STATICCALL ] - ~> #endPrank + ~> #endPrank => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 + ~> #pc [ CALL ] ) ~> #execute ~> _CONTINUATION:K @@ -13178,30 +14099,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" EVMC_SUCCESS - ListItem ( + ( ListItem ( - KV0_addr:Int + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -13219,10 +14140,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 #address ( FoundryTest ) ... - ) + ) => .List ) - ListItem ( { + ( ListItem ( { ( #address ( FoundryCheat ) @@ -13265,7 +14186,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -13285,28 +14206,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) | SELFDESTRUCT_CELL:Set @@ -13318,7 +14218,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -13326,29 +14226,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set - } ) + } ) => .List ) - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - 491460923342184218035706888008750043977755113263 + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) - KV0_addr:Int + ( #address ( FoundryCheat ) => 137122462167341575662000267002353578582749290296 ) - b"\xd77\xd0\xc7" + ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) 0 - ( 3610759367 : .WordStack ) + ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -13357,13 +14257,13 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - true + ( true => false ) - 1 + ( 1 => 0 ) - 491460923342184218035706888008750043977755113263 + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) ... @@ -13378,7 +14278,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -13451,7 +14351,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -13471,28 +14371,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -13511,7 +14390,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryCheat ) .Account @@ -13567,36 +14446,56 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #popCallStack + ( #halt + ~> #return 128 32 => #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 - ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" - ~> #pc [ STATICCALL ] => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 - ~> #pc [ CALL ] ) + ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) + ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -13612,30 +14511,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" EVMC_SUCCESS - ( ListItem ( + ListItem ( - #address ( FoundryTest ) + 491460923342184218035706888008750043977755113263 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" 0 @@ -13653,10 +14552,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 #address ( FoundryTest ) ... - ) => .List ) + ) - ( ListItem ( { + ListItem ( { ( #address ( FoundryCheat ) @@ -13731,7 +14630,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -13739,29 +14638,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set - } ) => .List ) + } ) - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( 491460923342184218035706888008750043977755113263 ) - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + 491460923342184218035706888008750043977755113263 - ( #address ( FoundryTest ) => 137122462167341575662000267002353578582749290296 ) + 491460923342184218035706888008750043977755113263 - ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) + b"\xd77\xd0\xc7" 0 - ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 3610759367 : .WordStack ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 @@ -13770,13 +14669,13 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( true => false ) + true - ( 1 => 0 ) + 1 - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + 491460923342184218035706888008750043977755113263 ... @@ -13791,7 +14690,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -13903,7 +14802,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + 491460923342184218035706888008750043977755113263 .Account @@ -13959,9 +14858,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #popCallStack + ( #halt + ~> #return 128 32 => #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 - ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) ~> #pc [ STATICCALL ] - ~> #endPrank => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 - ~> #pc [ CALL ] ) ~> #execute ~> _CONTINUATION:K @@ -14001,30 +14922,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" EVMC_SUCCESS - ( ListItem ( + ListItem ( - #address ( FoundryCheat ) + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -14042,10 +14963,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 #address ( FoundryTest ) ... - ) => .List ) + ) - ( ListItem ( { + ListItem ( { ( #address ( FoundryCheat ) @@ -14120,7 +15041,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -14128,29 +15049,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set - } ) => .List ) + } ) - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + 491460923342184218035706888008750043977755113263 - ( #address ( FoundryCheat ) => 137122462167341575662000267002353578582749290296 ) + #address ( FoundryTest ) - ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) + b"\xd77\xd0\xc7" 0 - ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 3610759367 : .WordStack ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 @@ -14159,13 +15080,13 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( true => false ) + true - ( 1 => 0 ) + 1 - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + 491460923342184218035706888008750043977755113263 ... @@ -14180,7 +15101,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -14292,7 +15213,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + #address ( FoundryTest ) .Account @@ -14348,9 +15269,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #popCallStack - ~> #dropWorldState - ~> 1 - ~> #push - ~> #refund 0 - ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" - ~> #pc [ STATICCALL ] - ~> #endPrank => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 - ~> #pc [ CALL ] ) + ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) + ~> #checkCall #address ( FoundryTest ) 0 + ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false + ~> #return 160 0 ) + ~> #pc [ CALL ] ~> #execute ~> _CONTINUATION:K @@ -14390,156 +15330,38 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + #buf ( 32 , KV0_addr:Int ) EVMC_SUCCESS - ( ListItem ( - - 491460923342184218035706888008750043977755113263 - - - 137122462167341575662000267002353578582749290296 - - - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" - - - 0 - - - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" - - - 0 - - - 0 - - - false - - - 0 - - - #address ( FoundryTest ) - - ... - ) => .List ) + .List - ( ListItem ( { - ( - - #address ( FoundryCheat ) - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - - ( - - #address ( FoundryTest ) - - - maxUInt96 - - - ( 27 |-> 491460923342184218035706888008750043977755113263 ) - - - .Map - - - .Map - - - 2 - - ... - - - - 491460923342184218035706888008750043977755113263 - - - 0 - - - .Map - - - .Map - - - .Map - - - 1 - - ... - ) ) - | - - SELFDESTRUCT_CELL:Set - - - .List - - - 0 - - - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - - - .Map - - - .Set - - } ) => .List ) + .List - SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + #address ( FoundryTest ) - ( 491460923342184218035706888008750043977755113263 => 137122462167341575662000267002353578582749290296 ) + 137122462167341575662000267002353578582749290296 - ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -14548,20 +15370,17 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( true => false ) + false - ( 1 => 0 ) + 0 - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + #address ( FoundryTest ) ... - - SELFDESTRUCT_CELL:Set - .List @@ -14569,7 +15388,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) |Set SetItem ( #address ( FoundryCheat ) ) .Map @@ -14577,6 +15396,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set + ... 137122462167341575662000267002353578582749290296 @@ -14642,7 +15462,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -14662,7 +15482,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -14681,7 +15522,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int .Account @@ -14737,33 +15578,56 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #popCallStack - ~> #dropWorldState - ~> 1 - ~> #push - ~> #refund 0 - ~> #setLocalMem 128 32 #buf ( 32 , KV0_addr:Int ) - ~> #pc [ STATICCALL ] - ~> #endPrank => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 - ~> #pc [ CALL ] ) + ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) + ~> #checkCall #address ( FoundryTest ) 0 + ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false + ~> #return 160 0 ) + ~> #pc [ CALL ] ~> #execute ~> _CONTINUATION:K @@ -14779,177 +15643,38 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" EVMC_SUCCESS - ( ListItem ( - - KV0_addr:Int - - - 137122462167341575662000267002353578582749290296 - - - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) - - - 0 - - - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) - - - 0 - - - 0 - - - false - - - 0 - - - #address ( FoundryTest ) - - ... - ) => .List ) + .List - ( ListItem ( { - ( - - #address ( FoundryCheat ) - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - - ( - - #address ( FoundryTest ) - - - maxUInt96 - - - ( 27 |-> 491460923342184218035706888008750043977755113263 ) - - - .Map - - - .Map - - - 2 - - ... - - ( - - 491460923342184218035706888008750043977755113263 - - - 0 - - - .Map - - - .Map - - - .Map - - - 1 - - ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) - | - - SELFDESTRUCT_CELL:Set - - - .List - - - 0 - - - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) - - - .Map - - - .Set - - } ) => .List ) + .List - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + #address ( FoundryTest ) - ( KV0_addr:Int => 137122462167341575662000267002353578582749290296 ) + 137122462167341575662000267002353578582749290296 - ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_addr:Int ) => #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -14958,20 +15683,17 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( true => false ) + false - ( 1 => 0 ) + 0 - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + #address ( FoundryTest ) ... - - SELFDESTRUCT_CELL:Set - .List @@ -14979,7 +15701,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) => SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) ) |Set SetItem ( ( KV0_addr:Int => 491460923342184218035706888008750043977755113263 ) ) |Set SetItem ( ( 491460923342184218035706888008750043977755113263 => #address ( FoundryCheat ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -14987,6 +15709,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set + ... 137122462167341575662000267002353578582749290296 @@ -15052,7 +15775,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -15072,28 +15795,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -15112,7 +15814,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryCheat ) .Account @@ -15168,33 +15870,56 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) - ~> #checkCall #address ( FoundryTest ) 0 - ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false - ~> #return 160 0 ) - ~> #pc [ CALL ] + ( #popCallStack + ~> #dropWorldState + ~> 1 + ~> #push + ~> #refund 0 + ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + ~> #pc [ STATICCALL ] + ~> #endPrank => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 + ~> #pc [ CALL ] ) ~> #execute ~> _CONTINUATION:K @@ -15210,38 +15935,156 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" EVMC_SUCCESS - .List + ( ListItem ( + + 491460923342184218035706888008750043977755113263 + + + 137122462167341575662000267002353578582749290296 + + + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + + + 0 + + + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + + + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" + + + 0 + + + 0 + + + false + + + 0 + + + #address ( FoundryTest ) + + ... + ) => .List ) - .List + ( ListItem ( { + ( + + #address ( FoundryCheat ) + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + #address ( FoundryTest ) + + + maxUInt96 + + + ( 27 |-> 491460923342184218035706888008750043977755113263 ) + + + .Map + + + .Map + + + 2 + + ... + + + + 491460923342184218035706888008750043977755113263 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) ) + | + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + + + .Map + + + .Set + + } ) => .List ) - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( 491460923342184218035706888008750043977755113263 ) - #address ( FoundryTest ) + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) - 137122462167341575662000267002353578582749290296 + ( 491460923342184218035706888008750043977755113263 => 137122462167341575662000267002353578582749290296 ) - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) 0 - ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) + ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -15250,17 +16093,20 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - false + ( true => false ) - 0 + ( 1 => 0 ) - #address ( FoundryTest ) + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) ... + + SELFDESTRUCT_CELL:Set + .List @@ -15268,7 +16114,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -15276,7 +16122,6 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set - ... 137122462167341575662000267002353578582749290296 @@ -15381,7 +16226,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + 491460923342184218035706888008750043977755113263 .Account @@ -15437,9 +16282,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) - ~> #checkCall #address ( FoundryTest ) 0 - ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false - ~> #return 160 0 ) - ~> #pc [ CALL ] + ( #popCallStack + ~> #dropWorldState + ~> 1 + ~> #push + ~> #refund 0 + ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + ~> #pc [ STATICCALL ] => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 + ~> #pc [ CALL ] ) ~> #execute ~> _CONTINUATION:K @@ -15475,38 +16346,156 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" EVMC_SUCCESS - .List + ( ListItem ( + + #address ( FoundryTest ) + + + 137122462167341575662000267002353578582749290296 + + + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + + + 0 + + + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + + + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + + + 0 + + + 0 + + + false + + + 0 + + + #address ( FoundryTest ) + + ... + ) => .List ) - .List + ( ListItem ( { + ( + + #address ( FoundryCheat ) + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + #address ( FoundryTest ) + + + maxUInt96 + + + ( 27 |-> 491460923342184218035706888008750043977755113263 ) + + + .Map + + + .Map + + + 2 + + ... + + + + 491460923342184218035706888008750043977755113263 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) ) + | + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + + + .Map + + + .Set + + } ) => .List ) - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - #address ( FoundryTest ) + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) - 137122462167341575662000267002353578582749290296 + ( #address ( FoundryTest ) => 137122462167341575662000267002353578582749290296 ) - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) 0 - ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) + ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -15515,17 +16504,20 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - false + ( true => false ) - 0 + ( 1 => 0 ) - #address ( FoundryTest ) + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) ... + + SELFDESTRUCT_CELL:Set + .List @@ -15533,7 +16525,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -15541,7 +16533,6 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set - ... 137122462167341575662000267002353578582749290296 @@ -15646,7 +16637,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + #address ( FoundryTest ) .Account @@ -15702,9 +16693,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) + ( #accessAccounts #address ( FoundryCheat ) ~> #checkCall #address ( FoundryTest ) 0 ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false - ~> #return 160 0 ) - ~> #pc [ CALL ] + ~> #return 160 0 + ~> #pc [ CALL ] => #end EVMC_SUCCESS + ~> #pc [ STOP ] ) ~> #execute ~> _CONTINUATION:K @@ -15740,7 +16755,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + ( #buf ( 32 , KV0_addr:Int ) => b"" ) EVMC_SUCCESS @@ -15752,7 +16767,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) @@ -15762,16 +16777,16 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) + ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -15798,7 +16813,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) |Set SetItem ( #address ( FoundryCheat ) ) .Map @@ -15872,7 +16887,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -15892,7 +16907,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -15905,19 +16941,19 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #address ( FoundryTest ) + ( #address ( FoundryTest ) => .Account ) - 137122462167341575662000267002353578582749290296 + ( 137122462167341575662000267002353578582749290296 => .Account ) - 491460923342184218035706888008750043977755113263 + ( KV0_addr:Int => .Account ) .Account - true + ( true => false ) 0 @@ -15967,29 +17003,53 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-119-TO-120]: - ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) - ~> #checkCall #address ( FoundryTest ) 0 - ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false - ~> #return 160 0 ) - ~> #pc [ CALL ] + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ STOP ] ~> #execute ~> _CONTINUATION:K @@ -16005,7 +17065,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #buf ( 32 , KV0_addr:Int ) + b"" EVMC_SUCCESS @@ -16033,7 +17093,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) + ( 1757857939 : .WordStack ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" @@ -16191,19 +17251,19 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #address ( FoundryTest ) + .Account - 137122462167341575662000267002353578582749290296 + .Account - KV0_addr:Int + .Account .Account - true + false 0 @@ -16253,6 +17313,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_addr:Int @@ -16270,17 +17353,16 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 andBool ( VV0_addr_114b9705:Int =/=Int #address ( FoundryCheat ) andBool ( VV0_addr_114b9705:Int =/=Int #address ( FoundryTest ) )))))))))))))) - [priority(20), label(BASIC-BLOCK-116-TO-120)] + [priority(20), label(BASIC-BLOCK-119-TO-120)] - rule [BASIC-BLOCK-117-TO-121]: + rule [BASIC-BLOCK-118-TO-121]: - ( #accessAccounts #address ( FoundryCheat ) + ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) ~> #checkCall #address ( FoundryTest ) 0 ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false - ~> #return 160 0 - ~> #pc [ CALL ] => #end EVMC_SUCCESS - ~> #pc [ STOP ] ) + ~> #return 160 0 ) + ~> #pc [ CALL ] ~> #execute ~> _CONTINUATION:K @@ -16296,7 +17378,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" => b"" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" EVMC_SUCCESS @@ -16324,7 +17406,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) + ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" @@ -16461,19 +17543,19 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( #address ( FoundryTest ) => .Account ) + #address ( FoundryTest ) - ( 137122462167341575662000267002353578582749290296 => .Account ) + 137122462167341575662000267002353578582749290296 - ( #address ( FoundryTest ) => .Account ) + #address ( FoundryTest ) .Account - ( true => false ) + true 0 @@ -16523,6 +17605,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) @@ -16536,17 +17641,16 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 andBool ( VV0_addr_114b9705:Int =/=Int #address ( FoundryCheat ) andBool ( VV0_addr_114b9705:Int =/=Int #address ( FoundryTest ) )))))))))) - [priority(20), label(BASIC-BLOCK-117-TO-121)] + [priority(20), label(BASIC-BLOCK-118-TO-121)] - rule [BASIC-BLOCK-118-TO-122]: + rule [BASIC-BLOCK-117-TO-122]: - ( #accessAccounts #address ( FoundryCheat ) + ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) ~> #checkCall #address ( FoundryTest ) 0 ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false - ~> #return 160 0 - ~> #pc [ CALL ] => #end EVMC_SUCCESS - ~> #pc [ STOP ] ) + ~> #return 160 0 ) + ~> #pc [ CALL ] ~> #execute ~> _CONTINUATION:K @@ -16562,7 +17666,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" => b"" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" EVMC_SUCCESS @@ -16574,7 +17678,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( 491460923342184218035706888008750043977755113263 ) @@ -16584,16 +17688,16 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 - ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) + ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -16727,19 +17831,19 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( #address ( FoundryTest ) => .Account ) + #address ( FoundryTest ) - ( 137122462167341575662000267002353578582749290296 => .Account ) + 137122462167341575662000267002353578582749290296 - ( #address ( FoundryCheat ) => .Account ) + 491460923342184218035706888008750043977755113263 .Account - ( true => false ) + true 0 @@ -16789,9 +17893,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-116-TO-123]: ( #accessAccounts #address ( FoundryCheat ) @@ -16828,7 +17955,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" => b"" ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" => b"" ) EVMC_SUCCESS @@ -16840,7 +17967,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) @@ -16850,16 +17977,16 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) + ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -16999,7 +18126,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 137122462167341575662000267002353578582749290296 => .Account ) - ( 491460923342184218035706888008750043977755113263 => .Account ) + ( #address ( FoundryCheat ) => .Account ) .Account @@ -17055,9 +18182,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #accessAccounts #address ( FoundryCheat ) - ~> #checkCall #address ( FoundryTest ) 0 - ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false - ~> #return 160 0 - ~> #pc [ CALL ] => #end EVMC_SUCCESS - ~> #pc [ STOP ] ) - ~> #execute + #halt + ~> ( #pc [ STOP ] + ~> #execute => .K ) ~> _CONTINUATION:K @@ -17094,7 +18240,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( #buf ( 32 , KV0_addr:Int ) => b"" ) + b"" EVMC_SUCCESS @@ -17122,7 +18268,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) + ( 1757857939 : .WordStack ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" @@ -17280,19 +18426,19 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( #address ( FoundryTest ) => .Account ) + .Account - ( 137122462167341575662000267002353578582749290296 => .Account ) + .Account - ( KV0_addr:Int => .Account ) + .Account .Account - ( true => false ) + false 0 @@ -17342,6 +18488,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( 0 <=Int KV0_addr:Int @@ -17364,8 +18533,12 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 rule [BASIC-BLOCK-121-TO-125]: - ( #end EVMC_SUCCESS => #halt ) - ~> #pc [ STOP ] + ( #accessAccounts #address ( FoundryCheat ) + ~> #checkCall #address ( FoundryTest ) 0 + ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false + ~> #return 160 0 + ~> #pc [ CALL ] => #end EVMC_SUCCESS + ~> #pc [ STOP ] ) ~> #execute ~> _CONTINUATION:K @@ -17381,7 +18554,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" => b"" ) EVMC_SUCCESS @@ -17409,7 +18582,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( 1757857939 : .WordStack ) + ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" @@ -17546,19 +18719,19 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - .Account + ( #address ( FoundryTest ) => .Account ) - .Account + ( 137122462167341575662000267002353578582749290296 => .Account ) - .Account + ( #address ( FoundryTest ) => .Account ) .Account - false + ( true => false ) 0 @@ -17608,6 +18781,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) @@ -17626,8 +18822,12 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 rule [BASIC-BLOCK-122-TO-126]: - ( #end EVMC_SUCCESS => #halt ) - ~> #pc [ STOP ] + ( #accessAccounts #address ( FoundryCheat ) + ~> #checkCall #address ( FoundryTest ) 0 + ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false + ~> #return 160 0 + ~> #pc [ CALL ] => #end EVMC_SUCCESS + ~> #pc [ STOP ] ) ~> #execute ~> _CONTINUATION:K @@ -17643,7 +18843,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" => b"" ) EVMC_SUCCESS @@ -17655,7 +18855,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( 491460923342184218035706888008750043977755113263 ) @@ -17665,16 +18865,16 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 - ( 1757857939 : .WordStack ) + ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -17808,19 +19008,19 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - .Account + ( #address ( FoundryTest ) => .Account ) - .Account + ( 137122462167341575662000267002353578582749290296 => .Account ) - .Account + ( 491460923342184218035706888008750043977755113263 => .Account ) .Account - false + ( true => false ) 0 @@ -17870,9 +19070,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) @@ -17927,7 +19150,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 @@ -17936,7 +19159,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 1757857939 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -18132,9 +19355,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-125-TO-128]: ( #end EVMC_SUCCESS => #halt ) @@ -18179,7 +19425,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) @@ -18189,7 +19435,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 @@ -18198,7 +19444,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 1757857939 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -18225,7 +19471,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) |Set SetItem ( #address ( FoundryCheat ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -18299,7 +19545,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -18319,28 +19565,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -18415,31 +19640,50 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-126-TO-129]: - #halt - ~> ( #pc [ STOP ] - ~> #execute => .K ) + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ STOP ] + ~> #execute ~> _CONTINUATION:K @@ -18466,7 +19710,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( 491460923342184218035706888008750043977755113263 ) @@ -18476,7 +19720,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 @@ -18485,7 +19729,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 1757857939 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -18512,7 +19756,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -18681,9 +19925,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-127-TO-130]: #halt @@ -18943,6 +20210,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) @@ -18956,9 +20246,9 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 andBool ( VV0_addr_114b9705:Int =/=Int #address ( FoundryCheat ) andBool ( VV0_addr_114b9705:Int =/=Int #address ( FoundryTest ) )))))))))) - [priority(20), label(BASIC-BLOCK-126-TO-130)] + [priority(20), label(BASIC-BLOCK-127-TO-130)] - rule [BASIC-BLOCK-127-TO-131]: + rule [BASIC-BLOCK-128-TO-131]: #halt @@ -18990,7 +20280,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) @@ -19000,7 +20290,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 @@ -19009,7 +20299,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 1757857939 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -19036,7 +20326,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -19205,9 +20495,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-129-TO-132]: #halt @@ -19252,7 +20565,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( 491460923342184218035706888008750043977755113263 ) @@ -19262,7 +20575,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 @@ -19271,7 +20584,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 1757857939 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -19298,7 +20611,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) |Set SetItem ( #address ( FoundryCheat ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -19372,7 +20685,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -19392,28 +20705,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -19488,24 +20780,43 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .MockFunctionCellMap + + ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) + ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) + ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) + ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) + ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) + ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) + ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) + ( ( b"BADINT256" |-> "notanint" ) + ( ( b"BADUINT256" |-> "-100" ) + ( ( b"BOOLARRAY" |-> "true,false,true,false" ) + ( ( b"BOOLFALSE" |-> "false" ) + ( ( b"BOOLTRUE" |-> "true" ) + ( ( b"BYTES" |-> "0xdeadbeef" ) + ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) + ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) + ( ( b"INT256" |-> "-100" ) + ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) + ( ( b"STRING" |-> "hello_world" ) + ( ( b"STRINGARRAY" |-> "one,two" ) + ( ( b"UINT256" |-> "100" ) + ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) + - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 Date: Tue, 13 Jan 2026 14:06:04 +0000 Subject: [PATCH 25/31] Ran make pyupgrade --- src/kontrol/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/kontrol/utils.py b/src/kontrol/utils.py index db1997b04..fad0366ba 100644 --- a/src/kontrol/utils.py +++ b/src/kontrol/utils.py @@ -341,7 +341,7 @@ def parse_env_file(file_path: Path) -> dict[str, str]: env_vars: dict[str, str] = {} if not file_path.exists(): return env_vars - with open(file_path, 'r', encoding='utf-8') as f: + with open(file_path, encoding='utf-8') as f: for line in f: line = line.strip() if not line or line.startswith('#'): From d2e90f5fd16af3d6b22775ac27229fab4bbb4e77 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Fri, 16 Jan 2026 16:14:51 +0000 Subject: [PATCH 26/31] Addressed PR comments --- src/kontrol/kdist/assert.md | 7 -- src/kontrol/kdist/cheatcodes.md | 141 +++++++++++++------------------- src/kontrol/utils.py | 66 ++++++++++++--- 3 files changed, 110 insertions(+), 104 deletions(-) diff --git a/src/kontrol/kdist/assert.md b/src/kontrol/kdist/assert.md index 872c494a6..ab6775971 100644 --- a/src/kontrol/kdist/assert.md +++ b/src/kontrol/kdist/assert.md @@ -93,13 +93,6 @@ Capturing cheat code calls rule [cheatcode.call.assertEq.Dtype]: #cheatcode_call SELECTOR ARGS => - //#let ARG1_START = #asWord(#range(ARGS, 0, 32)) #in - //#let ARG2_START = #asWord(#range(ARGS, 32, 32)) #in - //#let ARG1_LEN = #asWord(#range(ARGS, ARG1_START, 32)) #in - //#let ARG2_LEN = #asWord(#range(ARGS, ARG2_START, 32)) #in - //#let ARG1_VALUE = #asWord(#range(ARGS, 32 +Int ARG1_START, ARG1_LEN)) #in - //#let ARG2_VALUE = #asWord(#range(ARGS, 32 +Int ARG2_START, ARG2_LEN)) #in - // #assert_eq ARG1_VALUE ARG2_VALUE String2Bytes("assertion failed") ... #assert_eq #asWord(#range(ARGS, 32 +Int #asWord(#range(ARGS, 0, 32)), #asWord(#range(ARGS, #asWord(#range(ARGS, 0, 32)), 32)))) #asWord(#range(ARGS, 32 +Int #asWord(#range(ARGS, 32, 32)), #asWord(#range(ARGS, #asWord(#range(ARGS, 32, 32)), 32)))) String2Bytes("assertion failed") diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index d0f13dcc8..824c82090 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -673,7 +673,7 @@ returns the default value. requires SELECTOR ==Int selector( "envOr(string,string)" ) orBool SELECTOR ==Int selector( "envOr(string,bytes)" ) [preserves-definedness] - rule [envOr-word-array]: + rule [envOr-array]: #cheatcode_call SELECTOR ARGS => #getEnvOrArray SELECTOR #range(ARGS, 128, #asWord(#range(ARGS, 96, 32))) // KEY_VALUE @@ -688,21 +688,6 @@ returns the default value. SetItem( selector ( "envOr(string,string,address[])" ) ) SetItem( selector ( "envOr(string,string,bytes32[])" ) ) SetItem( selector ( "envOr(string,string,string[])" ) ) - ) - [preserves-definedness] - - rule [envOr-dynamic-array]: - #cheatcode_call SELECTOR ARGS => .K ... - _ => - #let DATA_OFFSET = #asWord(#range(ARGS, 64, 32)) #in - #let DATA_SIZE = #range(ARGS, DATA_OFFSET, 32) #in - #let DATA = #range(ARGS, DATA_OFFSET +Int 32, #asWord(DATA_SIZE) *Int 32) #in - #let HEAD = Int2Bytes(32, 32, BE) #in - #let BODY = DATA_SIZE +Bytes DATA #in - HEAD +Bytes BODY - - requires SELECTOR in ( - //SetItem( selector ( "envOr(string,string,string[])" ) ) SetItem( selector ( "envOr(string,string,bytes[])" ) ) ) [preserves-definedness] @@ -1990,75 +1975,61 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa ``` ```k -syntax Bool ::= isIntegerString(String) [function] - -rule isIntegerString(S) => true requires String2Int(S) ==K 0 orBool String2Int(S) =/=K 0 -rule isIntegerString(_) => false [owise] - - -syntax Bool ::= isUnsignedIntegerString(String) [function] - -rule isUnsignedIntegerString(S) => true requires String2Int(S) >=Int 0 -rule isUnsignedIntegerString(_) => false [owise] - - -syntax Bool ::= isHexString(String) [function] - -rule isHexString(S) => true - requires String2Base(replaceAll(S, "0x", ""), 16) ==K 0 - orBool String2Base(replaceAll(S, "0x", ""), 16) =/=K 0 -rule isHexString(_) => false [owise] - -syntax TypedArg ::= valueAsTypedArg ( Int , String ) [function] - -rule valueAsTypedArg(SELECTOR, VALUE) => #int256( String2Int(VALUE) ) - requires (SELECTOR ==Int selector ( "envOr(string,int256)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,int256[])" )) - andBool isIntegerString(VALUE) - -rule valueAsTypedArg(SELECTOR, VALUE) => #uint256( String2Int(VALUE) ) - requires (SELECTOR ==Int selector ( "envOr(string,uint256)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,uint256[])" )) - andBool isUnsignedIntegerString(VALUE) - -rule valueAsTypedArg(SELECTOR, VALUE) => #address( #parseHexWord(VALUE) ) - requires (SELECTOR ==Int selector ( "envOr(string,address)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,address[])" )) - andBool (lengthString(VALUE) ==Int 42 orBool lengthString(VALUE) ==Int 40) - andBool isHexString(VALUE) - -rule valueAsTypedArg(SELECTOR, VALUE) => #bytes32( #parseHexWord(VALUE) ) - requires (SELECTOR ==Int selector ( "envOr(string,bytes32)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,bytes32[])" )) - andBool (lengthString(VALUE) ==Int 66 orBool lengthString(VALUE) ==Int 64) - andBool isHexString(VALUE) - -rule valueAsTypedArg(SELECTOR, VALUE) => #bool( bool2Word( String2Bool(VALUE) )) - requires (SELECTOR ==Int selector ( "envOr(string,bool)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,bool[])" )) - andBool (VALUE ==K "true" orBool VALUE ==K "false") - -rule valueAsTypedArg(SELECTOR, VALUE) => #tuple( #string(VALUE)) - requires SELECTOR ==Int selector ( "envOr(string,string)" ) - -rule valueAsTypedArg(SELECTOR, VALUE) => #string(VALUE) - requires SELECTOR ==Int selector ( "envOr(string,string,string[])" ) - -rule valueAsTypedArg(SELECTOR, VALUE) => #tuple( #bytes( #parseByteStack(VALUE) )) - requires (SELECTOR ==Int selector ( "envOr(string,bytes)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,bytes[])" )) - andBool isHexString(VALUE) - -rule valueAsTypedArg(_, _) => #bytes( .Bytes ) - [owise] - -syntax List ::= split ( String , String ) [function] -rule split(S, D) => ListItem(S) requires findString(S, D, 0) ==Int -1 -rule split(S, D) => ListItem(substrString(S, 0, findString(S, D, 0))) split(substrString(S, findString(S, D, 0) +Int lengthString(D), lengthString(S)), D) requires findString(S, D, 0) =/=Int -1 - -syntax TypedArgs ::= mapTypedArgValue (Int, List) [function] -rule mapTypedArgValue(SELECTOR, ListItem(X) XS) => valueAsTypedArg(SELECTOR, X), mapTypedArgValue(SELECTOR, XS) - requires valueAsTypedArg(SELECTOR, X) =/=K #bytes( .Bytes ) -rule mapTypedArgValue(_, _) => .TypedArgs - [owise] - -syntax Int ::= sizeOfTypedArgs ( TypedArgs ) [function] -rule sizeOfTypedArgs(.TypedArgs) => 0 -rule sizeOfTypedArgs(_ , TAIL) => 1 +Int sizeOfTypedArgs(TAIL) + syntax Bool ::= isIntegerString(String) [function] + rule isIntegerString(S) => true requires String2Int(S) ==K 0 orBool String2Int(S) =/=K 0 + rule isIntegerString(_) => false [owise] + + syntax Bool ::= isUnsignedIntegerString(String) [function] + rule isUnsignedIntegerString(S) => true requires String2Int(S) >=Int 0 + rule isUnsignedIntegerString(_) => false [owise] + + syntax Bool ::= isHexString(String) [function] + rule isHexString(S) => true + requires String2Base(replaceAll(S, "0x", ""), 16) ==K 0 + orBool String2Base(replaceAll(S, "0x", ""), 16) =/=K 0 + rule isHexString(_) => false [owise] + + syntax TypedArg ::= valueAsTypedArg ( Int , String ) [function] + rule valueAsTypedArg(SELECTOR, VALUE) => #int256( String2Int(VALUE) ) + requires (SELECTOR ==Int selector ( "envOr(string,int256)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,int256[])" )) + andBool isIntegerString(VALUE) + rule valueAsTypedArg(SELECTOR, VALUE) => #uint256( String2Int(VALUE) ) + requires (SELECTOR ==Int selector ( "envOr(string,uint256)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,uint256[])" )) + andBool isUnsignedIntegerString(VALUE) + rule valueAsTypedArg(SELECTOR, VALUE) => #address( #parseHexWord(VALUE) ) + requires (SELECTOR ==Int selector ( "envOr(string,address)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,address[])" )) + andBool (lengthString(VALUE) ==Int 42 orBool lengthString(VALUE) ==Int 40) + andBool isHexString(VALUE) + rule valueAsTypedArg(SELECTOR, VALUE) => #bytes32( #parseHexWord(VALUE) ) + requires (SELECTOR ==Int selector ( "envOr(string,bytes32)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,bytes32[])" )) + andBool (lengthString(VALUE) ==Int 66 orBool lengthString(VALUE) ==Int 64) + andBool isHexString(VALUE) + rule valueAsTypedArg(SELECTOR, VALUE) => #bool( bool2Word( String2Bool(VALUE) )) + requires (SELECTOR ==Int selector ( "envOr(string,bool)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,bool[])" )) + andBool (VALUE ==K "true" orBool VALUE ==K "false") + rule valueAsTypedArg(SELECTOR, VALUE) => #tuple( #string(VALUE)) + requires SELECTOR ==Int selector ( "envOr(string,string)" ) + rule valueAsTypedArg(SELECTOR, VALUE) => #string(VALUE) + requires SELECTOR ==Int selector ( "envOr(string,string,string[])" ) + rule valueAsTypedArg(SELECTOR, VALUE) => #tuple( #bytes( #parseByteStack(VALUE) )) + requires (SELECTOR ==Int selector ( "envOr(string,bytes)" ) orBool SELECTOR ==Int selector ( "envOr(string,string,bytes[])" )) + andBool isHexString(VALUE) + rule valueAsTypedArg(_, _) => #bytes( .Bytes ) + [owise] + + syntax List ::= split ( String , String ) [function] + rule split(S, D) => ListItem(S) requires findString(S, D, 0) ==Int -1 + rule split(S, D) => ListItem(substrString(S, 0, findString(S, D, 0))) split(substrString(S, findString(S, D, 0) +Int lengthString(D), lengthString(S)), D) requires findString(S, D, 0) =/=Int -1 + + syntax TypedArgs ::= mapTypedArgValue (Int, List) [function] + rule mapTypedArgValue(SELECTOR, ListItem(X) XS) => valueAsTypedArg(SELECTOR, X), mapTypedArgValue(SELECTOR, XS) + requires valueAsTypedArg(SELECTOR, X) =/=K #bytes( .Bytes ) + rule mapTypedArgValue(_, _) => .TypedArgs + [owise] + + syntax Int ::= sizeOfTypedArgs ( TypedArgs ) [function] + rule sizeOfTypedArgs(.TypedArgs) => 0 + rule sizeOfTypedArgs(_ , TAIL) => 1 +Int sizeOfTypedArgs(TAIL) ``` diff --git a/src/kontrol/utils.py b/src/kontrol/utils.py index fad0366ba..9acfab331 100644 --- a/src/kontrol/utils.py +++ b/src/kontrol/utils.py @@ -12,6 +12,7 @@ from pyk.kbuild.utils import KVersion, k_version if TYPE_CHECKING: + from io import TextIOWrapper from typing import Final from pyk.cterm import CTerm from argparse import Namespace @@ -332,29 +333,70 @@ def decode_log_message(token: str, selector: int) -> str | None: return None -def parse_env_file(file_path: Path) -> dict[str, str]: +def parse_quoted_value(f: TextIOWrapper, val: str) -> str | None: + quote = val[0] + # Find closing quote on the same line + end_quote = val.find(quote, 1) + if end_quote != -1: + return val[1:end_quote] + else: + # Multi-line quoted value + val_accum = [val[1:]] + while True: + next_line = f.readline() + if not next_line: + # EOF before closing quote, skip + return None + next_line = next_line.rstrip('\n') + end_quote = next_line.find(quote) + if end_quote != -1: + val_accum.append(next_line[:end_quote]) + return '\n'.join(val_accum) + else: + val_accum.append(next_line) + + +def parse_env_file(path: Path) -> dict[str, str]: """Parse a .env file into a dictionary of key-value pairs. :param file_path: Path to the .env file :return: Dictionary with environment variable names as keys and their values as strings """ env_vars: dict[str, str] = {} - if not file_path.exists(): + if not path.exists(): return env_vars - with open(file_path, encoding='utf-8') as f: + with open(path, encoding='utf-8') as f: for line in f: line = line.strip() - if not line or line.startswith('#'): + if not line: + continue + # Match KEY=VALUE or KEY: VALUE + m = re.match(r'^([\w\.]+)\s*=\s*(.*)$', line) + if not m: continue - if '=' not in line: + key, val = m.group(1), m.group(2) + # Robust quoted value parsing + if line.startswith('#'): + env_vars[key] = '' continue - key, value = line.split('=', 1) - key = key.strip() - value = value.strip() - # Remove surrounding quotes if present - if (value.startswith('"') and value.endswith('"')) or (value.startswith("'") and value.endswith("'")): - value = value[1:-1] - env_vars[key] = value + if val.startswith(('"', "'")): + parsed_val = parse_quoted_value(f, val) + if parsed_val is None: + continue # skip if parsing failed + val = parsed_val + else: + # Remove inline comments (unquoted) only if ' #' is present + hash_idx = val.find('#') + if hash_idx != -1: + if val[hash_idx - 1] != ' ': + continue # skip if # is not preceded by a space + val = val.split(' #', 1)[0].strip() + + # If unquoted value contains whitespace, skip this variable + if any(c.isspace() for c in val): + continue + + env_vars[key] = val return env_vars From 39d8161cc0512d52e5611071dd7cb5cc9144b5e1 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Tue, 3 Feb 2026 15:25:49 +0000 Subject: [PATCH 27/31] Support for export keyword --- src/kontrol/utils.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/kontrol/utils.py b/src/kontrol/utils.py index ec06d4d70..08f36a60e 100644 --- a/src/kontrol/utils.py +++ b/src/kontrol/utils.py @@ -374,7 +374,10 @@ def parse_env_file(path: Path) -> dict[str, str]: line = line.strip() if not line: continue - # Match KEY=VALUE or KEY: VALUE + # Support lines starting with 'export ' + if line.startswith('export '): + line = line[len('export '):].lstrip() + # Match KEY=VALUE m = re.match(r'^([\w\.]+)\s*=\s*(.*)$', line) if not m: continue From 3bb037805238d9af4190103e71cb7d9b1f258a69 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Wed, 4 Feb 2026 14:01:20 +0000 Subject: [PATCH 28/31] Addressed edge case VAR=#value --- src/kontrol/utils.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/kontrol/utils.py b/src/kontrol/utils.py index 08f36a60e..e18e82787 100644 --- a/src/kontrol/utils.py +++ b/src/kontrol/utils.py @@ -374,6 +374,10 @@ def parse_env_file(path: Path) -> dict[str, str]: line = line.strip() if not line: continue + # Robust quoted value parsing + if line.startswith('#'): + env_vars[key] = '' + continue # Support lines starting with 'export ' if line.startswith('export '): line = line[len('export '):].lstrip() @@ -381,11 +385,7 @@ def parse_env_file(path: Path) -> dict[str, str]: m = re.match(r'^([\w\.]+)\s*=\s*(.*)$', line) if not m: continue - key, val = m.group(1), m.group(2) - # Robust quoted value parsing - if line.startswith('#'): - env_vars[key] = '' - continue + key, val = m.group(1).strip(), m.group(2).strip() if val.startswith(('"', "'")): parsed_val = parse_quoted_value(f, val) if parsed_val is None: @@ -395,8 +395,11 @@ def parse_env_file(path: Path) -> dict[str, str]: # Remove inline comments (unquoted) only if ' #' is present hash_idx = val.find('#') if hash_idx != -1: + if val.startswith('#'): + env_vars[key] = '' + continue # if # is right after =, for instance VAR=#value, then treat as empty value if val[hash_idx - 1] != ' ': - continue # skip if # is not preceded by a space + continue # skip if # is not preceded by a space because it's not a valid comment val = val.split(' #', 1)[0].strip() # If unquoted value contains whitespace, skip this variable From 42633f72097d44e5dc124adb25a9e390827caa32 Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Wed, 4 Feb 2026 14:06:47 +0000 Subject: [PATCH 29/31] Fixed code quality checks --- src/kontrol/utils.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/kontrol/utils.py b/src/kontrol/utils.py index e18e82787..cc1df6a3f 100644 --- a/src/kontrol/utils.py +++ b/src/kontrol/utils.py @@ -374,18 +374,18 @@ def parse_env_file(path: Path) -> dict[str, str]: line = line.strip() if not line: continue - # Robust quoted value parsing - if line.startswith('#'): - env_vars[key] = '' - continue # Support lines starting with 'export ' if line.startswith('export '): - line = line[len('export '):].lstrip() + line = line[len('export ') :].lstrip() # Match KEY=VALUE m = re.match(r'^([\w\.]+)\s*=\s*(.*)$', line) if not m: continue key, val = m.group(1).strip(), m.group(2).strip() + if line.startswith('#'): + env_vars[key] = '' + continue + # Robust quoted value parsing if val.startswith(('"', "'")): parsed_val = parse_quoted_value(f, val) if parsed_val is None: @@ -397,7 +397,7 @@ def parse_env_file(path: Path) -> dict[str, str]: if hash_idx != -1: if val.startswith('#'): env_vars[key] = '' - continue # if # is right after =, for instance VAR=#value, then treat as empty value + continue # if # is right after =, for instance VAR=#value, then treat as empty value if val[hash_idx - 1] != ' ': continue # skip if # is not preceded by a space because it's not a valid comment val = val.split(' #', 1)[0].strip() From bc97e2a87fc623d2c332eb2269f602c2d3a400be Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Wed, 4 Feb 2026 16:14:39 +0000 Subject: [PATCH 30/31] Added command line argument --env-file --- src/kontrol/__main__.py | 80 ++++++++++++++++++++++++------- src/kontrol/cli.py | 8 ++++ src/kontrol/foundry.py | 3 ++ src/kontrol/options.py | 4 ++ src/kontrol/prove.py | 15 +++--- src/kontrol/utils.py | 18 ++----- src/tests/integration/conftest.py | 10 ++-- 7 files changed, 96 insertions(+), 42 deletions(-) diff --git a/src/kontrol/__main__.py b/src/kontrol/__main__.py index e65074042..6b7ee106f 100644 --- a/src/kontrol/__main__.py +++ b/src/kontrol/__main__.py @@ -87,6 +87,7 @@ def _load_foundry( use_hex_encoding: bool = False, add_enum_constraints: bool = False, expand_config: bool = False, + env_file: str | None = None, ) -> Foundry: try: foundry = Foundry( @@ -95,6 +96,7 @@ def _load_foundry( use_hex_encoding=use_hex_encoding, add_enum_constraints=add_enum_constraints, expand_config=expand_config, + env_file=env_file, ) except FileNotFoundError: print( @@ -157,7 +159,9 @@ def exec_build(options: BuildOptions) -> None: console.print(building_message) foundry_kompile( options=options, - foundry=_load_foundry(options.foundry_root, add_enum_constraints=options.enum_constraints), + foundry=_load_foundry( + options.foundry_root, add_enum_constraints=options.enum_constraints, env_file=options.env_file + ), ) console.print( ':white_heavy_check_mark: [bold green]Success![/bold green] [bold]Kontrol project built[/bold] :muscle:' @@ -198,7 +202,12 @@ def exec_prove(options: ProveOptions) -> None: proving_message = f'[{_rv_blue()}]:person_running: [bold]Running [{_rv_yellow()}]Kontrol[/{_rv_yellow()}] proofs[/bold] :person_running:[/{_rv_blue()}]' else: proving_message = f'[{_rv_blue()}]:person_running: [bold]Running [{_rv_yellow()}]Kontrol[/{_rv_yellow()}] proofs[/bold] :person_running: \n Add `--verbose` to `kontrol prove` for more details![/{_rv_blue()}]' - foundry = _load_foundry(options.foundry_root, options.bug_report, add_enum_constraints=options.enum_constraints) + foundry = _load_foundry( + options.foundry_root, + options.bug_report, + add_enum_constraints=options.enum_constraints, + env_file=options.env_file, + ) try: console.print(proving_message) results = foundry_prove( @@ -268,6 +277,7 @@ def exec_show(options: ShowOptions) -> None: use_hex_encoding=options.use_hex_encoding, add_enum_constraints=options.enum_constraints, expand_config=options.expand_config, + env_file=options.env_file, ), options=options, ) @@ -275,7 +285,9 @@ def exec_show(options: ShowOptions) -> None: def exec_refute_node(options: RefuteNodeOptions) -> None: - foundry = _load_foundry(options.foundry_root, add_enum_constraints=options.enum_constraints) + foundry = _load_foundry( + options.foundry_root, add_enum_constraints=options.enum_constraints, env_file=options.env_file + ) refutation = foundry_refute_node(foundry=foundry, options=options) if refutation: @@ -289,14 +301,18 @@ def exec_refute_node(options: RefuteNodeOptions) -> None: def exec_unrefute_node(options: UnrefuteNodeOptions) -> None: foundry_unrefute_node( - foundry=_load_foundry(options.foundry_root, add_enum_constraints=options.enum_constraints), + foundry=_load_foundry( + options.foundry_root, add_enum_constraints=options.enum_constraints, env_file=options.env_file + ), options=options, ) def exec_split_node(options: SplitNodeOptions) -> None: node_ids = foundry_split_node( - foundry=_load_foundry(options.foundry_root, add_enum_constraints=options.enum_constraints), + foundry=_load_foundry( + options.foundry_root, add_enum_constraints=options.enum_constraints, env_file=options.env_file + ), options=options, ) @@ -304,27 +320,38 @@ def exec_split_node(options: SplitNodeOptions) -> None: def exec_list(options: ListOptions) -> None: - stats = foundry_list(foundry=_load_foundry(options.foundry_root, add_enum_constraints=options.enum_constraints)) + stats = foundry_list( + foundry=_load_foundry( + options.foundry_root, add_enum_constraints=options.enum_constraints, env_file=options.env_file + ) + ) print('\n'.join(stats)) def exec_view_kcfg(options: ViewKcfgOptions) -> None: foundry = _load_foundry( - options.foundry_root, use_hex_encoding=options.use_hex_encoding, add_enum_constraints=options.enum_constraints + options.foundry_root, + use_hex_encoding=options.use_hex_encoding, + add_enum_constraints=options.enum_constraints, + env_file=options.env_file, ) foundry_view(foundry, options) def exec_minimize_proof(options: MinimizeProofOptions) -> None: foundry_minimize_proof( - foundry=_load_foundry(options.foundry_root, add_enum_constraints=options.enum_constraints), + foundry=_load_foundry( + options.foundry_root, add_enum_constraints=options.enum_constraints, env_file=options.env_file + ), options=options, ) def exec_remove_node(options: RemoveNodeOptions) -> None: foundry_remove_node( - foundry=_load_foundry(options.foundry_root, add_enum_constraints=options.enum_constraints), + foundry=_load_foundry( + options.foundry_root, add_enum_constraints=options.enum_constraints, env_file=options.env_file + ), options=options, ) @@ -332,7 +359,12 @@ def exec_remove_node(options: RemoveNodeOptions) -> None: def exec_simplify_node(options: SimplifyNodeOptions) -> None: pretty_term = foundry_simplify_node( - foundry=_load_foundry(options.foundry_root, options.bug_report, add_enum_constraints=options.enum_constraints), + foundry=_load_foundry( + options.foundry_root, + options.bug_report, + add_enum_constraints=options.enum_constraints, + env_file=options.env_file, + ), options=options, ) print(f'Simplified:\n{pretty_term}') @@ -340,14 +372,21 @@ def exec_simplify_node(options: SimplifyNodeOptions) -> None: def exec_step_node(options: StepNodeOptions) -> None: foundry_step_node( - foundry=_load_foundry(options.foundry_root, options.bug_report, add_enum_constraints=options.enum_constraints), + foundry=_load_foundry( + options.foundry_root, + options.bug_report, + add_enum_constraints=options.enum_constraints, + env_file=options.env_file, + ), options=options, ) def exec_merge_nodes(options: MergeNodesOptions) -> None: foundry_merge_nodes( - foundry=_load_foundry(options.foundry_root, add_enum_constraints=options.enum_constraints), + foundry=_load_foundry( + options.foundry_root, add_enum_constraints=options.enum_constraints, env_file=options.env_file + ), options=options, ) @@ -355,7 +394,12 @@ def exec_merge_nodes(options: MergeNodesOptions) -> None: def exec_section_edge(options: SectionEdgeOptions) -> None: foundry_section_edge( - foundry=_load_foundry(options.foundry_root, options.bug_report, add_enum_constraints=options.enum_constraints), + foundry=_load_foundry( + options.foundry_root, + options.bug_report, + add_enum_constraints=options.enum_constraints, + env_file=options.env_file, + ), options=options, ) @@ -363,14 +407,16 @@ def exec_section_edge(options: SectionEdgeOptions) -> None: def exec_get_model(options: GetModelOptions) -> None: output = foundry_get_model( - foundry=_load_foundry(options.foundry_root, add_enum_constraints=options.enum_constraints), + foundry=_load_foundry( + options.foundry_root, add_enum_constraints=options.enum_constraints, env_file=options.env_file + ), options=options, ) print(output) def exec_clean(options: CleanOptions) -> None: - foundry_clean(foundry=_load_foundry(options.foundry_root), options=options) + foundry_clean(foundry=_load_foundry(options.foundry_root, env_file=options.env_file), options=options) def exec_init(options: InitOptions) -> None: @@ -380,7 +426,9 @@ def exec_init(options: InitOptions) -> None: def exec_setup_storage(options: SetupStorageOptions) -> None: - foundry = _load_foundry(options.foundry_root, add_enum_constraints=options.enum_constraints) + foundry = _load_foundry( + options.foundry_root, add_enum_constraints=options.enum_constraints, env_file=options.env_file + ) foundry_storage_generation(foundry=foundry, options=options) diff --git a/src/kontrol/cli.py b/src/kontrol/cli.py index f34a26c8e..5b6c159f9 100644 --- a/src/kontrol/cli.py +++ b/src/kontrol/cli.py @@ -147,6 +147,14 @@ def config_args(self) -> ArgumentParser: default='default', help='Config profile to be used.', ) + args.add_argument( + '--env-file', + dest='env_file', + nargs='?', + const='.env', + default=None, + help='Path to .env file to load environment variables from (default: .env if not specified).', + ) return args diff --git a/src/kontrol/foundry.py b/src/kontrol/foundry.py index e870a8709..d25e34f45 100644 --- a/src/kontrol/foundry.py +++ b/src/kontrol/foundry.py @@ -430,6 +430,7 @@ class Foundry: _bug_report: BugReport | None _use_hex_encoding: bool _expand_config: bool + env_file: str | None add_enum_constraints: bool enums: dict[str, int] @@ -441,6 +442,7 @@ def __init__( use_hex_encoding: bool = False, add_enum_constraints: bool = False, expand_config: bool = False, + env_file: str | None = None, ) -> None: self._root = foundry_root with (foundry_root / 'foundry.toml').open('rb') as f: @@ -450,6 +452,7 @@ def __init__( self._expand_config = expand_config self.add_enum_constraints = add_enum_constraints self.enums = {} + self.env_file = env_file def lookup_full_contract_name(self, contract_name: str) -> str: contracts = [ diff --git a/src/kontrol/options.py b/src/kontrol/options.py index ad16d96ed..c5aa453ba 100644 --- a/src/kontrol/options.py +++ b/src/kontrol/options.py @@ -36,24 +36,28 @@ class ConfigType(Enum): class FoundryOptions(Options): foundry_root: Path enum_constraints: bool + env_file: str | None @staticmethod def default() -> dict[str, Any]: return { 'foundry_root': Path('.'), 'enum_constraints': False, + 'env_file': None, } @staticmethod def from_option_string() -> dict[str, str]: return { 'foundry-project-root': 'foundry_root', + 'env-file': 'env_file', } @staticmethod def get_argument_type() -> dict[str, Callable]: return { 'foundry-project-root': dir_path, + 'env-file': str, } diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index ce6955724..1f7a67a1b 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -39,7 +39,7 @@ from .natspec import apply_natspec_preconditions from .options import ConfigType from .solc_to_k import Contract, decode_kinner_output -from .utils import console, parse_foundry_env, parse_test_version_tuple, replace_k_words +from .utils import console, parse_env_file, parse_test_version_tuple, replace_k_words if TYPE_CHECKING: from collections.abc import Iterable @@ -1008,12 +1008,13 @@ def _init_cterm( 'ENVVARS_CELL': KApply('.Map'), } - # Initialize ENVVARS_CELL with environment variables from .env file - env_vars = parse_foundry_env(foundry._root) - env_map = map_empty() - for key, value in env_vars.items(): - env_map = KApply('_Map_', [map_item(bytesToken(key.encode('utf-8')), token(value)), env_map]) - init_subst['ENVVARS_CELL'] = env_map + if foundry.env_file is not None: + # Initialize ENVVARS_CELL with environment variables from .env file + env_vars = parse_env_file(foundry._root / foundry.env_file) + env_map = map_empty() + for key, value in env_vars.items(): + env_map = KApply('_Map_', [map_item(bytesToken(key.encode('utf-8')), token(value)), env_map]) + init_subst['ENVVARS_CELL'] = env_map storage_constraints: list[KApply] = [] diff --git a/src/kontrol/utils.py b/src/kontrol/utils.py index cc1df6a3f..04b4645d9 100644 --- a/src/kontrol/utils.py +++ b/src/kontrol/utils.py @@ -372,7 +372,7 @@ def parse_env_file(path: Path) -> dict[str, str]: with open(path, encoding='utf-8') as f: for line in f: line = line.strip() - if not line: + if not line or line.startswith('#'): continue # Support lines starting with 'export ' if line.startswith('export '): @@ -382,7 +382,8 @@ def parse_env_file(path: Path) -> dict[str, str]: if not m: continue key, val = m.group(1).strip(), m.group(2).strip() - if line.startswith('#'): + if val.startswith('#'): + # if # is right after =, for instance VAR=#value, then treat as empty value env_vars[key] = '' continue # Robust quoted value parsing @@ -395,9 +396,6 @@ def parse_env_file(path: Path) -> dict[str, str]: # Remove inline comments (unquoted) only if ' #' is present hash_idx = val.find('#') if hash_idx != -1: - if val.startswith('#'): - env_vars[key] = '' - continue # if # is right after =, for instance VAR=#value, then treat as empty value if val[hash_idx - 1] != ' ': continue # skip if # is not preceded by a space because it's not a valid comment val = val.split(' #', 1)[0].strip() @@ -410,16 +408,6 @@ def parse_env_file(path: Path) -> dict[str, str]: return env_vars -def parse_foundry_env(foundry_root: Path) -> dict[str, str]: - """Parse the .env file located in the Foundry root directory. - - :param foundry_root: Path to the Foundry project root directory - :return: Dictionary with environment variable names as keys and their values as strings - """ - env_file = foundry_root / '.env' - return parse_env_file(env_file) - - EMPTY_LOG_SELECTOR = 1368866505 # a mapping from function selectors to the argument types used in the log functions from # https://github.com/foundry-rs/forge-std/blob/ee93fdc45d1e5e4dee883afe0103109881a83549/src/console.sol diff --git a/src/tests/integration/conftest.py b/src/tests/integration/conftest.py index 5661a1295..8fc18a2c9 100644 --- a/src/tests/integration/conftest.py +++ b/src/tests/integration/conftest.py @@ -51,9 +51,11 @@ def server(foundry: Foundry) -> Iterator[KoreServer]: @pytest.fixture(scope='session') -def foundry(foundry_root_dir: Path | None, tmp_path_factory: TempPathFactory, worker_id: str) -> Foundry: +def foundry( + foundry_root_dir: Path | None, tmp_path_factory: TempPathFactory, worker_id: str, env_file: str = '.env' +) -> Foundry: if foundry_root_dir: - return Foundry(foundry_root_dir, add_enum_constraints=True) + return Foundry(foundry_root_dir, add_enum_constraints=True, env_file=env_file) if worker_id == 'master': root_tmp_dir = tmp_path_factory.getbasetemp() @@ -94,7 +96,7 @@ def foundry(foundry_root_dir: Path | None, tmp_path_factory: TempPathFactory, wo 'metadata': False, } ), - foundry=Foundry(foundry_root, add_enum_constraints=True), + foundry=Foundry(foundry_root, add_enum_constraints=True, env_file=env_file), ) except CalledProcessError as e: _LOGGER.warning(e) @@ -104,4 +106,4 @@ def foundry(foundry_root_dir: Path | None, tmp_path_factory: TempPathFactory, wo session_foundry_root = tmp_path_factory.mktemp('foundry') copytree(str(foundry_root), str(session_foundry_root), dirs_exist_ok=True) - return Foundry(session_foundry_root, add_enum_constraints=True) + return Foundry(session_foundry_root, add_enum_constraints=True, env_file=env_file) From b3df32342b0e41087adf537f40f26f20c49793de Mon Sep 17 00:00:00 2001 From: lisandrasilva Date: Thu, 5 Feb 2026 08:36:04 +0000 Subject: [PATCH 31/31] Updated expected output --- ...t_double_add(uint256,uint256).cse.expected | 12 +- ...d_double_sub(uint256,uint256).cse.expected | 6 +- ...rnal(uint256,uint256,uint256).cse.expected | 12 +- ...rnal(uint256,uint256,uint256).cse.expected | 1222 +++--- ...Test.test_failing_branch(uint256).expected | 48 +- .../Enum.enum_storage_range().cse.expected | 1139 +++--- .../Identity.applyOp(uint256).cse.expected | 772 ++-- ...e.getEscrowTokenTotalSupply().cse.expected | 52 +- ...Test.test_failing_branch(uint256).expected | 6 +- ...ranch_merge(uint256,uint256,bool).expected | 4 +- .../test-data/show/split-node.expected | 3274 ++++++++--------- 11 files changed, 3127 insertions(+), 3420 deletions(-) diff --git a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add(uint256,uint256).cse.expected b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add(uint256,uint256).cse.expected index 2e03370a7..1aba590ac 100644 --- a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add(uint256,uint256).cse.expected +++ b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add(uint256,uint256).cse.expected @@ -30,7 +30,7 @@ ┃ │ method: src%ArithmeticContract.add(uint256,uint256) ┃ │ ┃ │ (73 steps) -┃ └─ 11 (leaf, terminal) +┃ └─ 13 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 2357 ┃ callDepth: 0 @@ -51,7 +51,7 @@ ┃ │ method: src%ArithmeticContract.add(uint256,uint256) ┃ │ ┃ │ (486 steps) -┃ └─ 17 (leaf, terminal) +┃ └─ 15 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 2474 ┃ callDepth: 0 @@ -117,7 +117,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD(UINT256,UINT256):0 - rule [BASIC-BLOCK-9-TO-11]: + rule [BASIC-BLOCK-9-TO-13]: ( #execute @@ -512,7 +512,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD(UINT256,UINT256):0 andBool ( MIXHASH_CELL:Int @@ -929,7 +929,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD(UINT256,UINT256):0 )))) [priority(20), label(BASIC-BLOCK-1-TO-7)] - rule [BASIC-BLOCK-21-TO-17]: + rule [BASIC-BLOCK-21-TO-15]: ( #execute @@ -1326,7 +1326,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD(UINT256,UINT256):0 andBool ( ( maxUInt256 -Int KV1_y:Int ) diff --git a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_double_sub(uint256,uint256).cse.expected b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_double_sub(uint256,uint256).cse.expected index b1d928962..205fa10a2 100644 --- a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_double_sub(uint256,uint256).cse.expected +++ b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_double_sub(uint256,uint256).cse.expected @@ -30,7 +30,7 @@ ┃ │ method: src%ArithmeticContract.add(uint256,uint256) ┃ │ ┃ │ (73 steps) -┃ └─ 13 (leaf, terminal) +┃ └─ 11 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 2613 ┃ callDepth: 0 @@ -166,7 +166,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-DOUBLE-SUB(UINT256,UINT256):0 - rule [BASIC-BLOCK-9-TO-13]: + rule [BASIC-BLOCK-9-TO-11]: ( #execute @@ -561,7 +561,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-DOUBLE-SUB(UINT256,UINT25 andBool ( MIXHASH_CELL:Int diff --git a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256).cse.expected b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256).cse.expected index babcd7c3a..2da5bba54 100644 --- a/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256).cse.expected +++ b/src/tests/integration/test-data/show/ArithmeticCallTest.test_double_add_sub_external(uint256,uint256,uint256).cse.expected @@ -49,7 +49,7 @@ ┃ │ method: src%ArithmeticContract.add(uint256,uint256) ┃ │ ┃ │ (565 steps) -┃ └─ 20 (leaf, terminal) +┃ └─ 22 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 1584 ┃ callDepth: 0 @@ -94,7 +94,7 @@ ┃ │ method: src%ArithmeticContract.add(uint256,uint256) ┃ │ ┃ │ (1910 steps) -┃ └─ 35 (leaf, terminal) +┃ └─ 33 (leaf, terminal) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 1708 ┃ callDepth: 0 @@ -1229,7 +1229,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ))))))))))))) [priority(20), label(BASIC-BLOCK-9-TO-16)] - rule [BASIC-BLOCK-39-TO-20]: + rule [BASIC-BLOCK-39-TO-22]: ( JUMPI 570 bool2Word ( KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) ) @@ -1752,7 +1752,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT andBool ( ( KV0_x:Int +Int KV1_y:Int ) @@ -2281,7 +2281,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT ensures ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) + rule [BASIC-BLOCK-53-TO-33]: ( JUMPI 570 bool2Word ( KV0_x:Int <=Int ( maxUInt256 -Int KV1_y:Int ) ) @@ -2807,7 +2807,7 @@ module SUMMARY-TEST%ARITHMETICCALLTEST.TEST-DOUBLE-ADD-SUB-EXTERNAL(UINT256,UINT andBool ( ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) <=Int ( maxUInt256 -Int KV1_y:Int ) )))))))))))))))) ensures ( ( KV0_x:Int +Int KV1_y:Int ) -Int KV2_z:Int ) diff --git a/src/tests/integration/test-data/show/ArithmeticContract.add_sub_external(uint256,uint256,uint256).cse.expected b/src/tests/integration/test-data/show/ArithmeticContract.add_sub_external(uint256,uint256,uint256).cse.expected index b8db29701..f90a136a8 100644 --- a/src/tests/integration/test-data/show/ArithmeticContract.add_sub_external(uint256,uint256,uint256).cse.expected +++ b/src/tests/integration/test-data/show/ArithmeticContract.add_sub_external(uint256,uint256,uint256).cse.expected @@ -54,7 +54,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 22 (split) +┃ ┃ ┃ ├─ 20 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -70,7 +70,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 124 +┃ ┃ ┃ ┃ ├─ 122 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -79,7 +79,7 @@ ┃ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ ┃ └─ 98 (leaf, pending) +┃ ┃ ┃ ┃ └─ 94 (leaf, pending) ┃ ┃ ┃ ┃ k: #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ~> ... ┃ ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -94,7 +94,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 144 +┃ ┃ ┃ ┃ ├─ 146 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -103,7 +103,7 @@ ┃ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 99 (leaf, pending) +┃ ┃ ┃ ┃ └─ 95 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -114,7 +114,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 145 +┃ ┃ ┃ ├─ 147 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -123,7 +123,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 100 (leaf, pending) +┃ ┃ ┃ └─ 96 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -133,7 +133,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 23 (split) +┃ ┃ ┃ ├─ 21 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -149,7 +149,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 126 +┃ ┃ ┃ ┃ ├─ 124 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -158,7 +158,7 @@ ┃ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ ┃ └─ 101 (leaf, pending) +┃ ┃ ┃ ┃ └─ 91 (leaf, pending) ┃ ┃ ┃ ┃ k: #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ~> ... ┃ ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -173,7 +173,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 146 +┃ ┃ ┃ ┃ ├─ 144 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -182,7 +182,7 @@ ┃ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 104 (leaf, pending) +┃ ┃ ┃ ┃ └─ 92 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -193,7 +193,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 147 +┃ ┃ ┃ ├─ 145 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -202,7 +202,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 105 (leaf, pending) +┃ ┃ ┃ └─ 93 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -212,7 +212,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 24 +┃ ┃ ├─ 22 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -223,7 +223,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 42 (split) +┃ ┃ ┃ ├─ 37 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -239,7 +239,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 136 +┃ ┃ ┃ ┃ ├─ 130 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -248,7 +248,7 @@ ┃ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 109 (leaf, pending) +┃ ┃ ┃ ┃ └─ 100 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -259,7 +259,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 137 +┃ ┃ ┃ ├─ 131 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -268,7 +268,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 110 (leaf, pending) +┃ ┃ ┃ └─ 101 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -278,7 +278,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 43 +┃ ┃ ├─ 38 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -289,7 +289,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 70 +┃ ┃ ┃ ├─ 63 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -298,7 +298,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 113 (leaf, pending) +┃ ┃ ┃ └─ 102 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -308,7 +308,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 71 +┃ ┃ ├─ 64 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -319,7 +319,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 114 (leaf, pending) +┃ ┃ ┃ └─ 103 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -329,7 +329,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 115 (leaf, pending) +┃ ┃ └─ 104 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 279 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -363,7 +363,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 39 (split) +┃ ┃ ┃ ├─ 40 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -379,7 +379,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 132 +┃ ┃ ┃ ┃ ├─ 134 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -388,7 +388,7 @@ ┃ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 106 (leaf, pending) +┃ ┃ ┃ ┃ └─ 105 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -399,7 +399,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 133 +┃ ┃ ┃ ├─ 135 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -408,7 +408,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 107 (leaf, pending) +┃ ┃ ┃ └─ 106 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -418,7 +418,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 40 (split) +┃ ┃ ┃ ├─ 41 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -434,7 +434,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 134 +┃ ┃ ┃ ┃ ├─ 136 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -443,7 +443,7 @@ ┃ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 102 (leaf, pending) +┃ ┃ ┃ ┃ └─ 107 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -454,7 +454,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 135 +┃ ┃ ┃ ├─ 137 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -463,7 +463,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 103 (leaf, pending) +┃ ┃ ┃ └─ 108 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -473,7 +473,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 41 +┃ ┃ ├─ 42 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -484,7 +484,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 67 +┃ ┃ ┃ ├─ 68 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -493,7 +493,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 108 (leaf, pending) +┃ ┃ ┃ └─ 111 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -503,7 +503,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 68 +┃ ┃ ├─ 69 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -514,7 +514,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 111 (leaf, pending) +┃ ┃ ┃ └─ 112 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -524,7 +524,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 112 (leaf, pending) +┃ ┃ └─ 113 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 279 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -538,7 +538,7 @@ ┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ARITHMETICCONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 28 +┃ ┃ ├─ 30 ┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 196 ~> #execute ~ ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -547,7 +547,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (1 step) -┃ ┃ ├─ 47 +┃ ┃ ├─ 50 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -558,7 +558,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 74 (leaf, pending) +┃ ┃ ┃ └─ 80 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -568,7 +568,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 75 (leaf, pending) +┃ ┃ ┃ └─ 81 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 196 ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -578,7 +578,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 76 (leaf, pending) +┃ ┃ └─ 82 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 279 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -592,7 +592,7 @@ ┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ARITHMETICCONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 48 +┃ ┃ ├─ 51 ┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 196 ~> #execute ~ ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -601,7 +601,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (1 step) -┃ ┃ └─ 79 (leaf, pending) +┃ ┃ └─ 83 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 279 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -615,7 +615,7 @@ ┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ARITHMETICCONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ └─ 80 (leaf, pending) +┃ ┃ └─ 84 (leaf, pending) ┃ ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 196 ~> #execute ~ ... ┃ ┃ pc: 279 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -626,7 +626,7 @@ ┃ ┗━━┓ subst: .Subst ┃ ┃ constraint: true ┃ │ -┃ └─ 81 (leaf, pending) +┃ └─ 85 (leaf, pending) ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 196 ~> #execute ~ ... ┃ pc: 279 ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -672,7 +672,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (6 steps) -┃ ┃ ┃ └─ 72 (leaf, pending) +┃ ┃ ┃ └─ 76 (leaf, pending) ┃ ┃ ┃ k: #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ~> #end ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -687,7 +687,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 138 +┃ ┃ ┃ ├─ 140 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -696,7 +696,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 73 (leaf, pending) +┃ ┃ ┃ └─ 77 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -711,7 +711,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 148 +┃ ┃ ┃ ├─ 150 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -720,7 +720,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 77 (leaf, pending) +┃ ┃ ┃ └─ 78 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -731,7 +731,7 @@ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ constraint: true ┃ ┃ │ -┃ ┃ ├─ 149 +┃ ┃ ├─ 151 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -740,7 +740,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 78 (leaf, pending) +┃ ┃ └─ 79 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 279 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -775,7 +775,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (6 steps) -┃ ┃ ┃ └─ 82 (leaf, pending) +┃ ┃ ┃ └─ 72 (leaf, pending) ┃ ┃ ┃ k: #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ~> #end ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -790,7 +790,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 140 +┃ ┃ ┃ ├─ 138 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -799,7 +799,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 83 (leaf, pending) +┃ ┃ ┃ └─ 73 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -814,7 +814,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 150 +┃ ┃ ┃ ├─ 148 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -823,7 +823,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 86 (leaf, pending) +┃ ┃ ┃ └─ 74 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -834,7 +834,7 @@ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ constraint: true ┃ ┃ │ -┃ ┃ ├─ 151 +┃ ┃ ├─ 149 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -843,7 +843,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 87 (leaf, pending) +┃ ┃ └─ 75 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 279 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -864,7 +864,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ ├─ 20 (split) +┃ ┃ ├─ 18 (split) ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -880,7 +880,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 122 +┃ ┃ ┃ ├─ 120 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -889,7 +889,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 88 (leaf, pending) +┃ ┃ ┃ └─ 86 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -913,7 +913,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 89 (leaf, pending) +┃ ┃ ┃ └─ 87 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -933,7 +933,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 90 (leaf, pending) +┃ ┃ └─ 88 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 279 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -943,7 +943,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ ├─ 21 +┃ ├─ 19 ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ │ pc: 279 ┃ │ callDepth: DEPTH_CELL:Int @@ -954,7 +954,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ ├─ 35 (split) +┃ ┃ ├─ 33 (split) ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -970,7 +970,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 130 +┃ ┃ ┃ ├─ 128 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 279 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -979,7 +979,7 @@ ┃ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 92 (leaf, pending) +┃ ┃ ┃ └─ 89 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 279 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -990,7 +990,7 @@ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ constraint: true ┃ ┃ │ -┃ ┃ ├─ 131 +┃ ┃ ├─ 129 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -999,7 +999,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 93 (leaf, pending) +┃ ┃ └─ 90 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 279 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1009,7 +1009,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ ├─ 36 +┃ ├─ 34 ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ │ pc: 279 ┃ │ callDepth: DEPTH_CELL:Int @@ -1020,7 +1020,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ ├─ 59 +┃ ┃ ├─ 60 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1029,7 +1029,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 95 (leaf, pending) +┃ ┃ └─ 97 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 279 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1039,7 +1039,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ ├─ 60 +┃ ├─ 61 ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ │ pc: 279 ┃ │ callDepth: DEPTH_CELL:Int @@ -1050,7 +1050,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ └─ 96 (leaf, pending) +┃ ┃ └─ 98 (leaf, pending) ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ pc: 279 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1060,7 +1060,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ └─ 97 (leaf, pending) +┃ └─ 99 (leaf, pending) ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ pc: 279 ┃ callDepth: DEPTH_CELL:Int @@ -1090,7 +1090,7 @@ ┃ (1 step) ┣━━┓ ┃ │ - ┃ ├─ 18 (split) + ┃ ├─ 23 (split) ┃ │ k: #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ~> ... ┃ │ pc: 279 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1103,7 +1103,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ 0 ==Int ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s ... ┃ ┃ │ pc: 279 ┃ ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1112,7 +1112,7 @@ ┃ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ ┃ │ ┃ ┃ │ (189 steps) - ┃ ┃ └─ 84 (leaf, pending) + ┃ ┃ └─ 109 (leaf, pending) ┃ ┃ k: JUMPI 593 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s ... ┃ │ pc: 279 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1133,7 +1133,7 @@ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ │ ┃ │ (189 steps) - ┃ └─ 85 (leaf, pending) + ┃ └─ 110 (leaf, pending) ┃ k: JUMPI 593 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #checkCall C_ARITHMETICCONTRACT_I ... │ pc: 279 │ callDepth: CALLDEPTH_CELL:Int @@ -1156,7 +1156,7 @@ ┃ ┃ constraint: ┃ ┃ CALLDEPTH_CELL:Int #checkCall C_ARITHMETICCONTRACT_I ... ┃ │ pc: 279 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1165,7 +1165,7 @@ ┃ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) ┃ │ ┃ │ (19 steps) - ┃ └─ 91 (leaf, pending) + ┃ └─ 114 (leaf, pending) ┃ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K ┃ pc: 0 ┃ callDepth: ( CALLDEPTH_CELL:Int +Int 1 ) @@ -1177,7 +1177,7 @@ ┃ constraint: ┃ 1024 <=Int CALLDEPTH_CELL:Int │ - ├─ 121 + ├─ 127 │ k: #accessAccounts C_ARITHMETICCONTRACT_ID:Int ~> #checkCall C_ARITHMETICCONTRACT_I ... │ pc: 279 │ callDepth: CALLDEPTH_CELL:Int @@ -1186,7 +1186,7 @@ │ method: src%ArithmeticContract.add_sub_external(uint256,uint256,uint256) │ │ (79 steps) - └─ 94 (leaf, pending) + └─ 115 (leaf, pending) k: #halt ~> CONTINUATION:K pc: 295 callDepth: CALLDEPTH_CELL:Int @@ -2066,7 +2066,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ensures NEWCALLER_CELL:Account ~> .K =/=K C_ARITHMETICCONTRACT_ID:Int ~> .K [priority(20), label(BASIC-BLOCK-14-TO-25)] - rule [BASIC-BLOCK-28-TO-47]: + rule [BASIC-BLOCK-30-TO-50]: ( #next [ STATICCALL ] ~> .K => #injectPrank @@ -2289,9 +2289,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) )))))))))))))))))))))))))))))))))) ensures NEWCALLER_CELL:Account ~> .K =/=K C_ARITHMETICCONTRACT_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-28-TO-47)] + [priority(20), label(BASIC-BLOCK-30-TO-50)] - rule [BASIC-BLOCK-48-TO-79]: + rule [BASIC-BLOCK-51-TO-83]: ( #next [ STATICCALL ] ~> .K => #injectPrank @@ -2514,9 +2514,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) )))))))))))))))))))))))))))))))))) ensures NEWCALLER_CELL:Account ~> .K =/=K C_ARITHMETICCONTRACT_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-48-TO-79)] + [priority(20), label(BASIC-BLOCK-51-TO-83)] - rule [BASIC-BLOCK-59-TO-95]: + rule [BASIC-BLOCK-60-TO-97]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -2743,9 +2743,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-59-TO-95)] + [priority(20), label(BASIC-BLOCK-60-TO-97)] - rule [BASIC-BLOCK-67-TO-108]: + rule [BASIC-BLOCK-63-TO-102]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -2807,7 +2807,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG0:Int + NOG1:Int @@ -2856,7 +2856,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG0:Int + NOG1:Int true @@ -2929,7 +2929,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -2949,7 +2949,8 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( C_ARITHMETICCONTRACT_NONCE:Int + rule [BASIC-BLOCK-68-TO-111]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -3037,7 +3038,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG1:Int + NOG0:Int @@ -3086,7 +3087,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG1:Int + NOG0:Int true @@ -3159,7 +3160,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -3179,8 +3180,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( C_ARITHMETICCONTRACT_NONCE:Int + rule [BASIC-BLOCK-128-TO-89]: - ( #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] => JUMPI 593 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) + ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 + ~> #pc [ STATICCALL ] ) + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -3230,12 +3226,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - - OUTPUT_CELL:Bytes - - #address ( FoundryConsole ) + NCL:Int CALLER_ID:Int @@ -3247,10 +3240,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - ( ( 196 => 0 ) : ( ( 1997931255 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 0 => 332 ) : ( 0 : ( ( KV2_z:Int => 0 ) : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 2619793463 => 111 ) : ( .WordStack => ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) + ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes #buf ( 32 , ( KV0_x:Int => chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) ) +Bytes ( #buf ( 32 , KV1_y:Int ) => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) 0 @@ -3259,10 +3252,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - CALLDEPTH_CELL:Int + DEPTH_CELL:Int - #address ( FoundryConsole ) + C_ARITHMETICCONTRACT_ID:Int ... @@ -3273,7 +3266,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG1:Int @@ -3296,7 +3289,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ( - #address ( FoundryConsole ) + C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_BAL:Int @@ -3319,10 +3312,13 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - NEWCALLER_CELL:Account + NCL:Int + + NOG1:Int + - ACTIVE_CELL:Bool + true DEPTH_CELL:Int @@ -3390,7 +3386,11 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - requires ( _C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) + requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int + andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -3400,44 +3400,50 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( pow24 #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + andBool ( C_ARITHMETICCONTRACT_ID:Int =/=Int #address ( FoundryCheat ) + andBool ( ( notBool + C_ARITHMETICCONTRACT_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-129-TO-90]: - ( #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] => JUMPI 593 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) + ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 + ~> #pc [ STATICCALL ] ) + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -3452,12 +3458,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - - OUTPUT_CELL:Bytes - - #address ( FoundryConsole ) + NCL:Int CALLER_ID:Int @@ -3469,10 +3472,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - ( ( 196 => 0 ) : ( ( 1997931255 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 0 => 332 ) : ( 0 : ( ( KV2_z:Int => 0 ) : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 2619793463 => 111 ) : ( .WordStack => ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) + ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes #buf ( 32 , ( KV0_x:Int => chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) ) +Bytes ( #buf ( 32 , KV1_y:Int ) => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) 0 @@ -3481,10 +3484,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - CALLDEPTH_CELL:Int + DEPTH_CELL:Int - #address ( FoundryConsole ) + C_ARITHMETICCONTRACT_ID:Int ... @@ -3495,7 +3498,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG1:Int @@ -3518,7 +3521,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ( - #address ( FoundryConsole ) + C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_BAL:Int @@ -3541,10 +3544,13 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - NEWCALLER_CELL:Account + NCL:Int + + NOG1:Int + - ACTIVE_CELL:Bool + true DEPTH_CELL:Int @@ -3612,7 +3618,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - requires ( _C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) + requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -3622,21 +3631,27 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( pow24 - #address ( FoundryConsole ) + C_ARITHMETICCONTRACT_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-130-TO-100]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 196 ~> #execute ~> _CONTINUATION:K @@ -3696,7 +3714,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int C_ARITHMETICCONTRACT_ID:Int @@ -3710,7 +3728,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG1:Int + NOG0:Int @@ -3759,19 +3777,19 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG1:Int + NOG0:Int true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -3831,9 +3849,11 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int @@ -3851,8 +3871,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( C_ARITHMETICCONTRACT_NONCE:Int + rule [BASIC-BLOCK-131-TO-101]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 196 ~> #execute ~> _CONTINUATION:K @@ -3928,7 +3948,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int C_ARITHMETICCONTRACT_ID:Int @@ -3942,7 +3962,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG1:Int + NOG0:Int @@ -3991,19 +4011,19 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG1:Int + NOG0:Int true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -4063,9 +4083,11 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -4082,8 +4104,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( C_ARITHMETICCONTRACT_NONCE:Int + rule [BASIC-BLOCK-132-TO-109]: - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 196 + ( #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" + ~> #pc [ STATICCALL ] => JUMPI 593 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) ~> #execute ~> _CONTINUATION:K @@ -4132,9 +4154,12 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): + + OUTPUT_CELL:Bytes + - NCL:Int + #address ( FoundryConsole ) CALLER_ID:Int @@ -4146,10 +4171,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) + ( ( 196 => 0 ) : ( ( 1997931255 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 0 => 332 ) : ( 0 : ( ( KV2_z:Int => 0 ) : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 2619793463 => 111 ) : ( .WordStack => ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes #buf ( 32 , ( KV0_x:Int => chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) ) +Bytes ( #buf ( 32 , KV1_y:Int ) => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ) 0 @@ -4158,10 +4183,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - EXPECTEDDEPTH_CELL:Int + CALLDEPTH_CELL:Int - C_ARITHMETICCONTRACT_ID:Int + #address ( FoundryConsole ) ... @@ -4172,7 +4197,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG:Int + ORIGIN_ID:Int @@ -4195,7 +4220,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ( - C_ARITHMETICCONTRACT_ID:Int + #address ( FoundryConsole ) C_ARITHMETICCONTRACT_BAL:Int @@ -4218,22 +4243,19 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - NCL:Int + NEWCALLER_CELL:Account - - NOG:Int - - true + ACTIVE_CELL:Bool - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -4292,13 +4314,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) + requires ( _C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -4308,49 +4324,44 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( pow24 #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( C_ARITHMETICCONTRACT_ID:Int =/=Int #address ( FoundryCheat ) - andBool ( ( notBool - C_ARITHMETICCONTRACT_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-133-TO-110]: - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 196 + ( #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" + ~> #pc [ STATICCALL ] => JUMPI 593 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) ~> #execute ~> _CONTINUATION:K @@ -4365,9 +4376,12 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): + + OUTPUT_CELL:Bytes + - NCL:Int + #address ( FoundryConsole ) CALLER_ID:Int @@ -4379,10 +4393,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => C_ARITHMETICCONTRACT_ID:Int ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) + ( ( 196 => 0 ) : ( ( 1997931255 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 0 => 332 ) : ( 0 : ( ( KV2_z:Int => 0 ) : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 2619793463 => 111 ) : ( .WordStack => ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes #buf ( 32 , ( KV0_x:Int => chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) ) +Bytes ( #buf ( 32 , KV1_y:Int ) => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) ) 0 @@ -4391,10 +4405,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - EXPECTEDDEPTH_CELL:Int + CALLDEPTH_CELL:Int - C_ARITHMETICCONTRACT_ID:Int + #address ( FoundryConsole ) ... @@ -4405,7 +4419,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG:Int + ORIGIN_ID:Int @@ -4428,7 +4442,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ( - C_ARITHMETICCONTRACT_ID:Int + #address ( FoundryConsole ) C_ARITHMETICCONTRACT_BAL:Int @@ -4451,22 +4465,19 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - NCL:Int + NEWCALLER_CELL:Account - - NOG:Int - - true + ACTIVE_CELL:Bool - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -4525,12 +4536,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + requires ( _C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -4540,25 +4546,21 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( pow24 - C_ARITHMETICCONTRACT_ID:Int + #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-134-TO-105]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -4634,7 +4636,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG:Int @@ -4683,7 +4685,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - .Account + NOG:Int true @@ -4756,11 +4758,11 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -4803,9 +4805,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): orBool ( 10 + rule [BASIC-BLOCK-135-TO-106]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -4867,7 +4869,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG:Int @@ -4916,7 +4918,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - .Account + NOG:Int true @@ -4989,10 +4991,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -5032,9 +5034,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): orBool ( 10 + rule [BASIC-BLOCK-136-TO-107]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -5096,7 +5098,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG0:Int + ORIGIN_ID:Int @@ -5145,7 +5147,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG0:Int + .Account true @@ -5218,11 +5220,11 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -5239,7 +5241,6 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( C_ARITHMETICCONTRACT_NONCE:Int + rule [BASIC-BLOCK-137-TO-108]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -5330,7 +5331,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG0:Int + ORIGIN_ID:Int @@ -5379,7 +5380,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG0:Int + .Account true @@ -5452,10 +5453,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -5472,7 +5473,6 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( C_ARITHMETICCONTRACT_NONCE:Int + rule [BASIC-BLOCK-142-TO-87]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -5727,9 +5727,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-142-TO-89)] + [priority(20), label(BASIC-BLOCK-142-TO-87)] - rule [BASIC-BLOCK-143-TO-90]: + rule [BASIC-BLOCK-143-TO-88]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -5954,9 +5954,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-143-TO-90)] + [priority(20), label(BASIC-BLOCK-143-TO-88)] - rule [BASIC-BLOCK-144-TO-99]: + rule [BASIC-BLOCK-144-TO-92]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -6018,7 +6018,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG:Int + ORIGIN_ID:Int @@ -6067,7 +6067,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG:Int + .Account true @@ -6140,11 +6140,11 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -6187,9 +6187,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): orBool ( 10 + rule [BASIC-BLOCK-145-TO-93]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -6251,7 +6251,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG:Int + ORIGIN_ID:Int @@ -6300,7 +6300,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG:Int + .Account true @@ -6373,10 +6373,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -6416,9 +6416,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): orBool ( 10 + rule [BASIC-BLOCK-146-TO-95]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -6480,7 +6480,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG:Int @@ -6529,7 +6529,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - .Account + NOG:Int true @@ -6602,11 +6602,11 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -6649,9 +6649,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): orBool ( 10 + rule [BASIC-BLOCK-147-TO-96]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -6713,7 +6713,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG:Int @@ -6762,7 +6762,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - .Account + NOG:Int true @@ -6835,10 +6835,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -6878,9 +6878,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): orBool ( 10 + rule [BASIC-BLOCK-148-TO-74]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -6940,7 +6940,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG:Int + ORIGIN_ID:Int @@ -6989,7 +6989,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG:Int + .Account true @@ -7063,8 +7063,8 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -7108,9 +7108,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-148-TO-77)] + [priority(20), label(BASIC-BLOCK-148-TO-74)] - rule [BASIC-BLOCK-149-TO-78]: + rule [BASIC-BLOCK-149-TO-75]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -7170,7 +7170,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG:Int + ORIGIN_ID:Int @@ -7219,7 +7219,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG:Int + .Account true @@ -7293,7 +7293,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -7334,9 +7334,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-149-TO-78)] + [priority(20), label(BASIC-BLOCK-149-TO-75)] - rule [BASIC-BLOCK-150-TO-86]: + rule [BASIC-BLOCK-150-TO-78]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -7396,7 +7396,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG:Int @@ -7445,7 +7445,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - .Account + NOG:Int true @@ -7519,8 +7519,8 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -7564,9 +7564,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-150-TO-86)] + [priority(20), label(BASIC-BLOCK-150-TO-78)] - rule [BASIC-BLOCK-151-TO-87]: + rule [BASIC-BLOCK-151-TO-79]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ARITHMETICCONTRACT_ID:Int 128 68 128 32 @@ -7626,7 +7626,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG:Int @@ -7675,7 +7675,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - .Account + NOG:Int true @@ -7749,7 +7749,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -7790,9 +7790,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-151-TO-87)] + [priority(20), label(BASIC-BLOCK-151-TO-79)] - rule [BASIC-BLOCK-116-TO-72]: + rule [BASIC-BLOCK-118-TO-72]: ( #next [ STATICCALL ] ~> .K => #refund 0 @@ -7855,7 +7855,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG:Int + ORIGIN_ID:Int @@ -7904,7 +7904,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG:Int + .Account true @@ -7978,8 +7978,8 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -8024,9 +8024,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-116-TO-72)] + [priority(20), label(BASIC-BLOCK-118-TO-72)] - rule [BASIC-BLOCK-118-TO-82]: + rule [BASIC-BLOCK-116-TO-76]: ( #next [ STATICCALL ] ~> .K => #refund 0 @@ -8089,7 +8089,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG:Int @@ -8138,7 +8138,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - .Account + NOG:Int true @@ -8212,8 +8212,8 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -8258,7 +8258,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-118-TO-82)] + [priority(20), label(BASIC-BLOCK-116-TO-76)] rule [BASIC-BLOCK-138-TO-73]: @@ -8324,7 +8324,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - NOG:Int + ORIGIN_ID:Int @@ -8373,7 +8373,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - NOG:Int + .Account true @@ -8447,8 +8447,8 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -8495,7 +8495,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ensures NCL:Int =/=Int #address ( FoundryConsole ) [priority(20), label(BASIC-BLOCK-138-TO-73)] - rule [BASIC-BLOCK-140-TO-83]: + rule [BASIC-BLOCK-140-TO-77]: ( #next [ STATICCALL ] ~> .K => #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) @@ -8559,7 +8559,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - ORIGIN_ID:Int + NOG:Int @@ -8608,7 +8608,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): NCL:Int - .Account + NOG:Int true @@ -8682,8 +8682,8 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int @@ -8728,9 +8728,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-140-TO-83)] + [priority(20), label(BASIC-BLOCK-140-TO-77)] - rule [BASIC-BLOCK-122-TO-88]: + rule [BASIC-BLOCK-120-TO-86]: ( #next [ STATICCALL ] ~> .K => #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) @@ -8964,16 +8964,20 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-122-TO-88)] + [priority(20), label(BASIC-BLOCK-120-TO-86)] - rule [BASIC-BLOCK-120-TO-91]: + rule [BASIC-BLOCK-124-TO-91]: - ( #accessAccounts C_ARITHMETICCONTRACT_ID:Int - ~> #checkCall C_ARITHMETICCONTRACT_ID:Int 0 - ~> #call C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_ID:Int 0 0 b"w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) true => #execute ~> .K ) - ~> #return 128 32 - ~> #pc [ STATICCALL ] + ( #next [ STATICCALL ] ~> .K => #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" + ~> #pc [ STATICCALL ] ) + ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 196 ~> #execute ~> _CONTINUATION:K @@ -8988,113 +8992,24 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - - ( _OUTPUT_CELL:Bytes => b"" ) - - - ( CALLSTACK_CELL:List => ListItem ( - - C_ARITHMETICCONTRACT_ID:Int - - - CALLER_ID:Int - - - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) - - - 0 - - - ( 196 : ( 1997931255 : ( C_ARITHMETICCONTRACT_ID:Int : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - - - 0 - - - 0 - - - STATIC_CELL:Bool - - - CALLDEPTH_CELL:Int - - - C_ARITHMETICCONTRACT_ID:Int - - ... - ) CALLSTACK_CELL:List ) - - - ( INTERIMSTATES_CELL:List => ListItem ( { - ( - - C_ARITHMETICCONTRACT_ID:Int - - - C_ARITHMETICCONTRACT_BAL:Int - - - C_ARITHMETICCONTRACT_STORAGE:Map - - - C_ARITHMETICCONTRACT_ORIGSTORAGE:Map - - - C_ARITHMETICCONTRACT_TRANSIENTSTORAGE:Map - - - C_ARITHMETICCONTRACT_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) - | - - SELFDESTRUCT_CELL:Set - - - LOG_CELL:List - - - 0 - - - ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) - - - ACCESSEDSTORAGE_CELL:Map - - - CREATEDACCOUNTS_CELL:Set - - } ) INTERIMSTATES_CELL:List ) - - - ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) ) - - C_ARITHMETICCONTRACT_ID:Int + NCL:Int - ( CALLER_ID:Int => C_ARITHMETICCONTRACT_ID:Int ) + CALLER_ID:Int - ( b"\x9c&\xe07" => b"w\x16\x02\xf7" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes ( #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) => #buf ( 32 , KV1_y:Int ) ) + b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) 0 - ( ( 196 : ( 1997931255 : ( C_ARITHMETICCONTRACT_ID:Int : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) => .WordStack ) + ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) => b"" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) 0 @@ -9102,36 +9017,19 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - - ( STATIC_CELL:Bool => true ) - - ( CALLDEPTH_CELL:Int => ( CALLDEPTH_CELL:Int +Int 1 ) ) + EXPECTEDDEPTH_CELL:Int - C_ARITHMETICCONTRACT_ID:Int + ( C_ARITHMETICCONTRACT_ID:Int => #address ( FoundryConsole ) ) ... - - SELFDESTRUCT_CELL:Set - - - LOG_CELL:List - 0 - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) ) - - - ACCESSEDSTORAGE_CELL:Map - - - CREATEDACCOUNTS_CELL:Set - + ... ORIGIN_ID:Int @@ -9157,20 +9055,11 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ( - C_ARITHMETICCONTRACT_ID:Int + ( C_ARITHMETICCONTRACT_ID:Int => #address ( FoundryConsole ) ) C_ARITHMETICCONTRACT_BAL:Int - - C_ARITHMETICCONTRACT_STORAGE:Map - - - C_ARITHMETICCONTRACT_ORIGSTORAGE:Map - - - C_ARITHMETICCONTRACT_TRANSIENTSTORAGE:Map - C_ARITHMETICCONTRACT_NONCE:Int @@ -9189,19 +9078,22 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - NEWCALLER_CELL:Account + NCL:Int + + .Account + - ACTIVE_CELL:Bool + true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -9260,13 +9152,19 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - requires ( 0 <=Int KV0_x:Int + requires ( _ACTIVE_CELL:Bool + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account + andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( CALLDEPTH_CELL:Int + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( C_ARITHMETICCONTRACT_ID:Int =/=Int #address ( FoundryCheat ) andBool ( ( notBool C_ARITHMETICCONTRACT_ID:Int @@ -9298,23 +9200,23 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( ( C_ARITHMETICCONTRACT_ID:Int <=Int 0 orBool ( 10 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) ) ) - andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_ARITHMETICCONTRACT_ID:Int ) ) ) - ))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-120-TO-91)] + )))))))))))))))))))))))))))))))))))))) + ensures NCL:Int =/=Int #address ( FoundryConsole ) + [priority(20), label(BASIC-BLOCK-124-TO-91)] - rule [BASIC-BLOCK-121-TO-94]: + rule [BASIC-BLOCK-122-TO-94]: - ( #accessAccounts C_ARITHMETICCONTRACT_ID:Int - ~> #checkCall C_ARITHMETICCONTRACT_ID:Int 0 - ~> #call C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_ID:Int 0 0 b"w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) true - ~> #return 128 32 - ~> #pc [ STATICCALL ] - ~> #execute => #halt ~> .K ) + ( #next [ STATICCALL ] ~> .K => #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" + ~> #pc [ STATICCALL ] ) + ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 196 + ~> #execute ~> _CONTINUATION:K @@ -9328,15 +9230,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - - ( _OUTPUT_CELL:Bytes => b"" ) - - - ( _STATUSCODE:StatusCode => EVMC_REVERT ) - - C_ARITHMETICCONTRACT_ID:Int + NCL:Int CALLER_ID:Int @@ -9348,7 +9244,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - ( ( 196 => 1 ) : ( ( 1997931255 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 0 => C_ARITHMETICCONTRACT_ID:Int ) : ( 0 : ( ( KV2_z:Int => 0 ) : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 2619793463 => 111 ) : ( .WordStack => ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) + ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) @@ -9360,10 +9256,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - CALLDEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int - C_ARITHMETICCONTRACT_ID:Int + ( C_ARITHMETICCONTRACT_ID:Int => #address ( FoundryConsole ) ) ... @@ -9371,13 +9267,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) ) - ... - ORIGIN_ID:Int + NOG:Int @@ -9400,7 +9293,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ( - C_ARITHMETICCONTRACT_ID:Int + ( C_ARITHMETICCONTRACT_ID:Int => #address ( FoundryConsole ) ) C_ARITHMETICCONTRACT_BAL:Int @@ -9423,19 +9316,22 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - NEWCALLER_CELL:Account + NCL:Int + + NOG:Int + - ACTIVE_CELL:Bool + true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -9494,13 +9390,19 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - requires ( 0 <=Int KV0_x:Int + requires ( _ACTIVE_CELL:Bool + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( 1024 <=Int CALLDEPTH_CELL:Int andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( C_ARITHMETICCONTRACT_ID:Int =/=Int #address ( FoundryCheat ) andBool ( ( notBool C_ARITHMETICCONTRACT_ID:Int @@ -9532,26 +9438,18 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( ( C_ARITHMETICCONTRACT_ID:Int <=Int 0 orBool ( 10 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) ) ) - andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_ARITHMETICCONTRACT_ID:Int ) ) ) - ))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-121-TO-94)] + )))))))))))))))))))))))))))))))))))))) + ensures NCL:Int =/=Int #address ( FoundryConsole ) + [priority(20), label(BASIC-BLOCK-122-TO-94)] - rule [BASIC-BLOCK-124-TO-98]: + rule [BASIC-BLOCK-126-TO-114]: - ( #next [ STATICCALL ] ~> .K => #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 196 + ( #accessAccounts C_ARITHMETICCONTRACT_ID:Int + ~> #checkCall C_ARITHMETICCONTRACT_ID:Int 0 + ~> #call C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_ID:Int 0 0 b"w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) true => #execute ~> .K ) + ~> #return 128 32 + ~> #pc [ STATICCALL ] ~> #execute ~> _CONTINUATION:K @@ -9566,24 +9464,113 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): + + ( _OUTPUT_CELL:Bytes => b"" ) + + + ( CALLSTACK_CELL:List => ListItem ( + + C_ARITHMETICCONTRACT_ID:Int + + + CALLER_ID:Int + + + b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) + + + 0 + + + ( 196 : ( 1997931255 : ( C_ARITHMETICCONTRACT_ID:Int : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) + + + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + + + 0 + + + 0 + + + STATIC_CELL:Bool + + + CALLDEPTH_CELL:Int + + + C_ARITHMETICCONTRACT_ID:Int + + ... + ) CALLSTACK_CELL:List ) + + + ( INTERIMSTATES_CELL:List => ListItem ( { + ( + + C_ARITHMETICCONTRACT_ID:Int + + + C_ARITHMETICCONTRACT_BAL:Int + + + C_ARITHMETICCONTRACT_STORAGE:Map + + + C_ARITHMETICCONTRACT_ORIGSTORAGE:Map + + + C_ARITHMETICCONTRACT_TRANSIENTSTORAGE:Map + + + C_ARITHMETICCONTRACT_NONCE:Int + + ... + + ACCOUNTS_REST:AccountCellMap ) + | + + SELFDESTRUCT_CELL:Set + + + LOG_CELL:List + + + 0 + + + ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) + + + ACCESSEDSTORAGE_CELL:Map + + + CREATEDACCOUNTS_CELL:Set + + } ) INTERIMSTATES_CELL:List ) + + + ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) ) + - NCL:Int + C_ARITHMETICCONTRACT_ID:Int - CALLER_ID:Int + ( CALLER_ID:Int => C_ARITHMETICCONTRACT_ID:Int ) - b"\x9c&\xe07" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) + ( b"\x9c&\xe07" => b"w\x16\x02\xf7" ) +Bytes #buf ( 32 , KV0_x:Int ) +Bytes ( #buf ( 32 , KV1_y:Int ) +Bytes #buf ( 32 , KV2_z:Int ) => #buf ( 32 , KV1_y:Int ) ) 0 - ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) + ( ( 196 : ( 1997931255 : ( C_ARITHMETICCONTRACT_ID:Int : ( 0 : ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) => .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) => b"" ) 0 @@ -9591,22 +9578,39 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 + + ( STATIC_CELL:Bool => true ) + - EXPECTEDDEPTH_CELL:Int + ( CALLDEPTH_CELL:Int => ( CALLDEPTH_CELL:Int +Int 1 ) ) - ( C_ARITHMETICCONTRACT_ID:Int => #address ( FoundryConsole ) ) + C_ARITHMETICCONTRACT_ID:Int ... + + SELFDESTRUCT_CELL:Set + + + LOG_CELL:List + 0 - ... + + ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) ) + + + ACCESSEDSTORAGE_CELL:Map + + + CREATEDACCOUNTS_CELL:Set + - NOG:Int + ORIGIN_ID:Int @@ -9629,11 +9633,20 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ( - ( C_ARITHMETICCONTRACT_ID:Int => #address ( FoundryConsole ) ) + C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_BAL:Int + + C_ARITHMETICCONTRACT_STORAGE:Map + + + C_ARITHMETICCONTRACT_ORIGSTORAGE:Map + + + C_ARITHMETICCONTRACT_TRANSIENTSTORAGE:Map + C_ARITHMETICCONTRACT_NONCE:Int @@ -9652,22 +9665,19 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - NCL:Int + NEWCALLER_CELL:Account - - NOG:Int - - true + ACTIVE_CELL:Bool - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -9726,19 +9736,13 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( 0 <=Int KV0_x:Int + requires ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( CALLDEPTH_CELL:Int - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( C_ARITHMETICCONTRACT_ID:Int =/=Int #address ( FoundryCheat ) andBool ( ( notBool C_ARITHMETICCONTRACT_ID:Int @@ -9774,23 +9774,23 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( ( C_ARITHMETICCONTRACT_ID:Int <=Int 0 orBool ( 10 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) ) ) + andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_ARITHMETICCONTRACT_ID:Int ) ) ) + ))))))))))))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-126-TO-114)] - rule [BASIC-BLOCK-126-TO-101]: + rule [BASIC-BLOCK-127-TO-115]: - ( #next [ STATICCALL ] ~> .K => #consoleLog 1997931255 #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 196 - ~> #execute + ( #accessAccounts C_ARITHMETICCONTRACT_ID:Int + ~> #checkCall C_ARITHMETICCONTRACT_ID:Int 0 + ~> #call C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_ID:Int 0 0 b"w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) true + ~> #return 128 32 + ~> #pc [ STATICCALL ] + ~> #execute => #halt ~> .K ) ~> _CONTINUATION:K @@ -9804,9 +9804,15 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): + + ( _OUTPUT_CELL:Bytes => b"" ) + + + ( _STATUSCODE:StatusCode => EVMC_REVERT ) + - NCL:Int + C_ARITHMETICCONTRACT_ID:Int CALLER_ID:Int @@ -9818,7 +9824,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - ( ( 0 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 68 => 0 ) : ( ( 128 => 0 ) : ( ( 32 => KV2_z:Int ) : ( ( 196 => KV1_y:Int ) : ( ( 1997931255 => KV0_x:Int ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 111 ) : ( ( 0 => 2619793463 ) : ( ( 0 : ( KV2_z:Int : ( KV1_y:Int : ( KV0_x:Int : ( 111 : ( 2619793463 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) ) ) ) + ( ( 196 => 1 ) : ( ( 1997931255 => 196 ) : ( ( C_ARITHMETICCONTRACT_ID:Int => 1997931255 ) : ( ( 0 => C_ARITHMETICCONTRACT_ID:Int ) : ( 0 : ( ( KV2_z:Int => 0 ) : ( ( KV1_y:Int => KV2_z:Int ) : ( ( KV0_x:Int => KV1_y:Int ) : ( ( 111 => KV0_x:Int ) : ( ( 2619793463 => 111 ) : ( .WordStack => ( 2619793463 : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00w\x16\x02\xf7" +Bytes #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV1_y:Int ) @@ -9830,10 +9836,10 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 - EXPECTEDDEPTH_CELL:Int + CALLDEPTH_CELL:Int - ( C_ARITHMETICCONTRACT_ID:Int => #address ( FoundryConsole ) ) + C_ARITHMETICCONTRACT_ID:Int ... @@ -9841,6 +9847,9 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): 0 + + ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_ARITHMETICCONTRACT_ID:Int ) ) + ... @@ -9867,7 +9876,7 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ( - ( C_ARITHMETICCONTRACT_ID:Int => #address ( FoundryConsole ) ) + C_ARITHMETICCONTRACT_ID:Int C_ARITHMETICCONTRACT_BAL:Int @@ -9890,22 +9899,19 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): - NCL:Int + NEWCALLER_CELL:Account - - .Account - - true + ACTIVE_CELL:Bool - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -9964,19 +9970,13 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): ... - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account - andBool ( 0 <=Int KV0_x:Int + requires ( 0 <=Int KV0_x:Int andBool ( 0 <=Int KV1_y:Int andBool ( 0 <=Int KV2_z:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( 1024 <=Int CALLDEPTH_CELL:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( C_ARITHMETICCONTRACT_ID:Int =/=Int #address ( FoundryCheat ) andBool ( ( notBool C_ARITHMETICCONTRACT_ID:Int @@ -10012,8 +10008,12 @@ module SUMMARY-SRC%ARITHMETICCONTRACT.ADD-SUB-EXTERNAL(UINT256,UINT256,UINT256): andBool ( ( C_ARITHMETICCONTRACT_ID:Int <=Int 0 orBool ( 10 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool C_ARITHMETICCONTRACT_ID:Int ==Int #address ( FoundryConsole ) ) ) + andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_ARITHMETICCONTRACT_ID:Int ) ) ) + ))))))))))))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-127-TO-115)] endmodule \ No newline at end of file diff --git a/src/tests/integration/test-data/show/AssertTest.test_failing_branch(uint256).expected b/src/tests/integration/test-data/show/AssertTest.test_failing_branch(uint256).expected index 5de883cd0..1220db693 100644 --- a/src/tests/integration/test-data/show/AssertTest.test_failing_branch(uint256).expected +++ b/src/tests/integration/test-data/show/AssertTest.test_failing_branch(uint256).expected @@ -66,7 +66,7 @@ ┃ │ method: test%AssertTest.test_failing_branch(uint256) ┃ │ ┃ │ (2 steps) -┃ ├─ 14 (terminal) +┃ ├─ 15 (terminal) ┃ │ k: #halt ~> CONTINUATION:K ┃ │ pc: 328 ┃ │ callDepth: 0 @@ -103,7 +103,7 @@ │ method: test%AssertTest.test_failing_branch(uint256) │ │ (1 step) - ├─ 15 + ├─ 14 │ k: #halt ~> #pc [ REVERT ] ~> #execute ~> CONTINUATION:K │ pc: 2995 │ callDepth: 0 @@ -1854,12 +1854,12 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 ))))))))) [priority(20), label(BASIC-BLOCK-10-TO-13)] - rule [BASIC-BLOCK-12-TO-14]: + rule [BASIC-BLOCK-13-TO-14]: - #halt - ~> ( #pc [ STOP ] - ~> #execute => .K ) + ( #end EVMC_REVERT => #halt ) + ~> #pc [ REVERT ] + ~> #execute ~> _CONTINUATION:K @@ -1874,10 +1874,10 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 - b"" + b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" - EVMC_SUCCESS + ( _STATUSCODE:StatusCode => EVMC_REVERT ) .List @@ -1902,10 +1902,10 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 0 - ( 1176678741 : .WordStack ) + ( 1124 : ( KV0_x:Int : ( 327 : ( 1176678741 : .WordStack ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" + b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" 0 @@ -2092,7 +2092,7 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 requires ( 0 <=Int KV0_x:Int - andBool ( 100 <=Int KV0_x:Int + andBool ( KV0_x:Int + rule [BASIC-BLOCK-12-TO-15]: - ( #end EVMC_REVERT => #halt ) - ~> #pc [ REVERT ] - ~> #execute + #halt + ~> ( #pc [ STOP ] + ~> #execute => .K ) ~> _CONTINUATION:K @@ -2123,10 +2123,10 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 - b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01" + b"" - ( _STATUSCODE:StatusCode => EVMC_REVERT ) + EVMC_SUCCESS .List @@ -2151,10 +2151,10 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 0 - ( 1124 : ( KV0_x:Int : ( 327 : ( 1176678741 : .WordStack ) ) ) ) + ( 1176678741 : .WordStack ) - b"NH{q\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80" 0 @@ -2341,7 +2341,7 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 requires ( 0 <=Int KV0_x:Int - andBool ( KV0_x:Int + rule [BASIC-BLOCK-14-TO-16]: #halt @@ -2599,7 +2599,7 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):0 andBool ( KV0_x:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 126 +┃ ┃ ┃ ┃ ├─ 121 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -80,7 +80,7 @@ ┃ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ ┃ └─ 101 (leaf, pending) +┃ ┃ ┃ ┃ └─ 98 (leaf, pending) ┃ ┃ ┃ ┃ k: #consoleLog 1756313567 b"" ~> #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -97,7 +97,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 148 +┃ ┃ ┃ ┃ ├─ 141 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -106,7 +106,7 @@ ┃ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 104 (leaf, pending) +┃ ┃ ┃ ┃ └─ 99 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -118,7 +118,7 @@ ┃ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 149 +┃ ┃ ┃ ├─ 142 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -127,7 +127,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 105 (leaf, pending) +┃ ┃ ┃ └─ 100 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -154,7 +154,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 128 +┃ ┃ ┃ ┃ ├─ 123 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -163,7 +163,7 @@ ┃ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ ┃ └─ 98 (leaf, pending) +┃ ┃ ┃ ┃ └─ 101 (leaf, pending) ┃ ┃ ┃ ┃ k: #consoleLog 1756313567 b"" ~> #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -180,7 +180,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 146 +┃ ┃ ┃ ┃ ├─ 143 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -189,7 +189,7 @@ ┃ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 99 (leaf, pending) +┃ ┃ ┃ ┃ └─ 104 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -201,7 +201,7 @@ ┃ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 147 +┃ ┃ ┃ ├─ 144 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -210,7 +210,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 100 (leaf, pending) +┃ ┃ ┃ └─ 105 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -248,7 +248,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 138 +┃ ┃ ┃ ┃ ├─ 133 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -269,7 +269,7 @@ ┃ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 139 +┃ ┃ ┃ ├─ 134 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -299,17 +299,8 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 70 -┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... -┃ ┃ ┃ │ pc: 145 -┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ ┃ │ -┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 113 (leaf, pending) -┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... +┃ ┃ ┃ └─ 71 (leaf, pending) +┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ statusCode: STATUSCODE:StatusCode @@ -318,34 +309,13 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 71 -┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ │ pc: 145 -┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ │ statusCode: STATUSCODE:StatusCode -┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ │ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┃ (1 step) -┃ ┃ ┣━━┓ -┃ ┃ ┃ │ -┃ ┃ ┃ └─ 114 (leaf, pending) -┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... -┃ ┃ ┃ pc: 145 -┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ ┃ method: test%Enum.enum_storage_range() -┃ ┃ ┃ -┃ ┃ ┗━━┓ -┃ ┃ │ -┃ ┃ └─ 115 (leaf, pending) -┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... -┃ ┃ pc: 145 -┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int -┃ ┃ statusCode: STATUSCODE:StatusCode -┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 -┃ ┃ method: test%Enum.enum_storage_range() +┃ ┃ └─ 72 (leaf, pending) +┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... +┃ ┃ pc: 145 +┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int +┃ ┃ statusCode: STATUSCODE:StatusCode +┃ ┃ src: test/nested/SimpleNested.t.sol:7:11 +┃ ┃ method: test%Enum.enum_storage_range() ┃ ┃ ┃ ┣━━┓ subst: .Subst ┃ ┃ ┃ constraint: @@ -391,7 +361,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 134 +┃ ┃ ┃ ┃ ├─ 129 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -412,7 +382,7 @@ ┃ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 135 +┃ ┃ ┃ ├─ 130 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -448,7 +418,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 136 +┃ ┃ ┃ ┃ ├─ 131 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -469,7 +439,7 @@ ┃ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 137 +┃ ┃ ┃ ├─ 132 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -554,7 +524,7 @@ ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ENUM_ID:Int ) ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 29 +┃ ┃ ├─ 28 ┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 132 ~> #execute ~ ... ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -563,7 +533,7 @@ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ ┃ ┃ │ (1 step) -┃ ┃ ├─ 48 +┃ ┃ ├─ 47 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -574,7 +544,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 78 (leaf, pending) +┃ ┃ ┃ └─ 76 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -584,7 +554,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 79 (leaf, pending) +┃ ┃ ┃ └─ 77 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 132 ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -594,7 +564,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 80 (leaf, pending) +┃ ┃ └─ 78 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 145 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -609,7 +579,7 @@ ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ENUM_ID:Int ) ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 49 +┃ ┃ ├─ 48 ┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 132 ~> #execute ~ ... ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -618,7 +588,7 @@ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ ┃ ┃ │ (1 step) -┃ ┃ └─ 81 (leaf, pending) +┃ ┃ └─ 79 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 145 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -633,7 +603,7 @@ ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_ENUM_ID:Int ) ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ └─ 82 (leaf, pending) +┃ ┃ └─ 80 (leaf, pending) ┃ ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 132 ~> #execute ~ ... ┃ ┃ pc: 145 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -645,7 +615,7 @@ ┃ ┃ constraint: ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ │ -┃ └─ 83 (leaf, pending) +┃ └─ 81 (leaf, pending) ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 132 ~> #execute ~ ... ┃ pc: 145 ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -683,7 +653,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 118 +┃ ┃ ┃ ├─ 113 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -692,7 +662,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (6 steps) -┃ ┃ ┃ └─ 84 (leaf, pending) +┃ ┃ ┃ └─ 70 (leaf, pending) ┃ ┃ ┃ k: #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ~> #end ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -709,7 +679,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 142 +┃ ┃ ┃ ├─ 135 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -718,7 +688,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 88 (leaf, pending) +┃ ┃ ┃ └─ 73 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 1756313567 b"" ~> #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -735,7 +705,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 152 +┃ ┃ ┃ ├─ 145 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -744,7 +714,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 89 (leaf, pending) +┃ ┃ ┃ └─ 74 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -756,7 +726,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 153 +┃ ┃ ├─ 146 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -765,7 +735,7 @@ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 90 (leaf, pending) +┃ ┃ └─ 75 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 145 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -792,7 +762,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 120 +┃ ┃ ┃ ├─ 115 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -801,7 +771,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (6 steps) -┃ ┃ ┃ └─ 74 (leaf, pending) +┃ ┃ ┃ └─ 82 (leaf, pending) ┃ ┃ ┃ k: #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ~> #end ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -818,7 +788,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 140 +┃ ┃ ┃ ├─ 137 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -827,7 +797,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 75 (leaf, pending) +┃ ┃ ┃ └─ 83 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 1756313567 b"" ~> #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -844,7 +814,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 150 +┃ ┃ ┃ ├─ 147 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -853,7 +823,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 76 (leaf, pending) +┃ ┃ ┃ └─ 84 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -865,7 +835,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 151 +┃ ┃ ├─ 148 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -874,7 +844,7 @@ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 77 (leaf, pending) +┃ ┃ └─ 85 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 145 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -912,7 +882,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 124 +┃ ┃ ┃ ├─ 119 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -921,7 +891,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 85 (leaf, pending) +┃ ┃ ┃ └─ 90 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 1756313567 b"" ~> #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -938,7 +908,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 144 +┃ ┃ ┃ ├─ 139 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -947,7 +917,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 86 (leaf, pending) +┃ ┃ ┃ └─ 93 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -959,7 +929,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 145 +┃ ┃ ├─ 140 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -968,7 +938,7 @@ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 87 (leaf, pending) +┃ ┃ └─ 94 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 145 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1006,7 +976,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 132 +┃ ┃ ┃ ├─ 127 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ ┃ │ pc: 145 ┃ ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1015,7 +985,7 @@ ┃ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 93 (leaf, pending) +┃ ┃ ┃ └─ 91 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ ┃ pc: 145 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1027,7 +997,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ ( notBool C_ENUM_ID:Int ==Int C_ENUM_MEMBER_CONTRACT_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 133 +┃ ┃ ├─ 128 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1036,7 +1006,7 @@ ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 94 (leaf, pending) +┃ ┃ └─ 92 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ~> ... ┃ ┃ pc: 145 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1140,7 +1110,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ 0 ==Int ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ ┃ │ pc: 145 ┃ ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1148,19 +1118,20 @@ ┃ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 ┃ ┃ │ method: test%Enum.enum_storage_range() ┃ ┃ │ - ┃ ┃ │ (259 steps) - ┃ ┃ └─ 116 (leaf, pending) - ┃ ┃ k: #halt ~> CONTINUATION:K - ┃ ┃ pc: 465 + ┃ ┃ │ (189 steps) + ┃ ┃ └─ 88 (leaf, pending) + ┃ ┃ k: JUMPI 520 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ... ┃ │ pc: 145 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1168,12 +1139,12 @@ ┃ │ src: test/nested/SimpleNested.t.sol:7:11 ┃ │ method: test%Enum.enum_storage_range() ┃ │ - ┃ │ (204 steps) - ┃ └─ 117 (leaf, pending) - ┃ k: #halt ~> CONTINUATION:K - ┃ pc: 519 + ┃ │ (189 steps) + ┃ └─ 89 (leaf, pending) + ┃ k: JUMPI 520 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #checkCall C_ENUM_ID:Int 0 ~> # ... ┃ │ pc: 145 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1201,7 +1172,7 @@ ┃ │ method: test%Enum.enum_storage_range() ┃ │ ┃ │ (973 steps) - ┃ └─ 91 (leaf, pending) + ┃ └─ 86 (leaf, pending) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 68 ┃ callDepth: CALLDEPTH_CELL:Int @@ -1213,7 +1184,7 @@ ┃ constraint: ┃ 1024 <=Int CALLDEPTH_CELL:Int │ - ├─ 123 + ├─ 118 │ k: #accessAccounts C_ENUM_MEMBER_CONTRACT_ID:Int ~> #checkCall C_ENUM_ID:Int 0 ~> # ... │ pc: 145 │ callDepth: CALLDEPTH_CELL:Int @@ -1222,7 +1193,7 @@ │ method: test%Enum.enum_storage_range() │ │ (79 steps) - └─ 92 (leaf, pending) + └─ 87 (leaf, pending) k: #halt ~> CONTINUATION:K pc: 161 callDepth: CALLDEPTH_CELL:Int @@ -2218,7 +2189,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ensures NEWCALLER_CELL:Account ~> .K =/=K C_ENUM_ID:Int ~> .K [priority(20), label(BASIC-BLOCK-14-TO-25)] - rule [BASIC-BLOCK-29-TO-48]: + rule [BASIC-BLOCK-28-TO-47]: ( #next [ STATICCALL ] ~> .K => #injectPrank @@ -2470,9 +2441,9 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 )) )))))))))))))))))))))))))))))))))))))))) ensures NEWCALLER_CELL:Account ~> .K =/=K C_ENUM_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-29-TO-48)] + [priority(20), label(BASIC-BLOCK-28-TO-47)] - rule [BASIC-BLOCK-49-TO-81]: + rule [BASIC-BLOCK-48-TO-79]: ( #next [ STATICCALL ] ~> .K => #injectPrank @@ -2724,7 +2695,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 )) )))))))))))))))))))))))))))))))))))))))) ensures NEWCALLER_CELL:Account ~> .K =/=K C_ENUM_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-49-TO-81)] + [priority(20), label(BASIC-BLOCK-48-TO-79)] rule [BASIC-BLOCK-59-TO-95]: @@ -3243,14 +3214,16 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ))))))))))))))))))))))))))))))))))))))))))) [priority(20), label(BASIC-BLOCK-67-TO-108)] - rule [BASIC-BLOCK-70-TO-113]: + rule [BASIC-BLOCK-125-TO-88]: - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 + ( #consoleLog 1756313567 b"" + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" + ~> #pc [ STATICCALL ] => JUMPI 520 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) ~> #execute ~> _CONTINUATION:K @@ -3265,9 +3238,12 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 + + OUTPUT_CELL:Bytes + - NCL:Int + C_ENUM_ID:Int CALLER_ID:Int @@ -3279,10 +3255,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) + ( ( 132 => 0 ) : ( ( 1756313567 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 5 => 198 ) : ( ( 67 => 5 ) : ( ( 1664546334 => 67 ) : ( .WordStack => ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -3291,7 +3267,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - EXPECTEDDEPTH_CELL:Int + CALLDEPTH_CELL:Int C_ENUM_ID:Int @@ -3305,7 +3281,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG1:Int + ORIGIN_ID:Int @@ -3328,32 +3304,32 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - C_ENUM_ID:Int + #address ( FoundryConsole ) - C_ENUM_BAL:Int + C_ENUM_MEMBER_CONTRACT_BAL:Int - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) + C_ENUM_MEMBER_CONTRACT_STORAGE:Map - C_ENUM_NONCE:Int + C_ENUM_MEMBER_CONTRACT_NONCE:Int ... ( - C_ENUM_MEMBER_CONTRACT_ID:Int + C_ENUM_ID:Int - C_ENUM_MEMBER_CONTRACT_BAL:Int + C_ENUM_BAL:Int - C_ENUM_MEMBER_CONTRACT_STORAGE:Map + ( ( 0 |-> #address ( FoundryConsole ) ) + C_ENUM_STORAGE:Map ) - C_ENUM_MEMBER_CONTRACT_NONCE:Int + C_ENUM_NONCE:Int ... @@ -3370,22 +3346,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - NCL:Int + NEWCALLER_CELL:Account - - NOG1:Int - - true + ACTIVE_CELL:Bool - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -3444,12 +3417,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + requires ( _C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -3460,7 +3428,6 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( NUMBER_CELL:Int C_ENUM_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + andBool ( 0 ==Int ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s - C_ENUM_MEMBER_CONTRACT_ID:Int + #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-126-TO-89]: - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank + ( #consoleLog 1756313567 b"" + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" + ~> #pc [ STATICCALL ] => JUMPI 520 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) ~> #execute ~> _CONTINUATION:K @@ -3523,9 +3489,12 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 + + OUTPUT_CELL:Bytes + - NCL:Int + C_ENUM_ID:Int CALLER_ID:Int @@ -3537,10 +3506,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) + ( ( 132 => 0 ) : ( ( 1756313567 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 5 => 198 ) : ( ( 67 => 5 ) : ( ( 1664546334 => 67 ) : ( .WordStack => ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -3549,7 +3518,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - DEPTH_CELL:Int + CALLDEPTH_CELL:Int C_ENUM_ID:Int @@ -3563,7 +3532,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG1:Int + ORIGIN_ID:Int @@ -3586,32 +3555,32 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - C_ENUM_ID:Int + #address ( FoundryConsole ) - C_ENUM_BAL:Int + C_ENUM_MEMBER_CONTRACT_BAL:Int - ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) + C_ENUM_MEMBER_CONTRACT_STORAGE:Map - C_ENUM_NONCE:Int + C_ENUM_MEMBER_CONTRACT_NONCE:Int ... ( - C_ENUM_MEMBER_CONTRACT_ID:Int + C_ENUM_ID:Int - C_ENUM_MEMBER_CONTRACT_BAL:Int + C_ENUM_BAL:Int - C_ENUM_MEMBER_CONTRACT_STORAGE:Map + ( ( 0 |-> #address ( FoundryConsole ) ) + C_ENUM_STORAGE:Map ) - C_ENUM_MEMBER_CONTRACT_NONCE:Int + C_ENUM_NONCE:Int ... @@ -3628,13 +3597,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - NCL:Int + NEWCALLER_CELL:Account - - NOG1:Int - - true + ACTIVE_CELL:Bool DEPTH_CELL:Int @@ -3702,23 +3668,17 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + requires ( _C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) C_ENUM_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( notBool - C_ENUM_MEMBER_CONTRACT_ID:Int + #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-127-TO-91]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -3968,13 +3919,14 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -4019,17 +3975,15 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 orBool ( 10 + rule [BASIC-BLOCK-128-TO-92]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -4070,7 +4024,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int C_ENUM_ID:Int @@ -4084,7 +4038,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG:Int + NOG1:Int @@ -4152,19 +4106,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG:Int + NOG1:Int true - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -4224,19 +4178,16 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) + andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -4282,10 +4231,11 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-129-TO-106]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -4492,13 +4442,14 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -4540,10 +4495,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-130-TO-107]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -4605,7 +4560,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - ORIGIN_ID:Int + NOG:Int @@ -4673,7 +4628,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - .Account + NOG:Int true @@ -4746,18 +4701,17 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) + andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -4803,10 +4753,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-131-TO-102]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -5012,6 +4962,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int @@ -5019,7 +4970,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -5061,10 +5016,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-132-TO-103]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -5126,7 +5081,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG0:Int + ORIGIN_ID:Int @@ -5194,7 +5149,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG0:Int + .Account true @@ -5267,18 +5222,17 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) + andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -5325,10 +5274,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-133-TO-111]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -5535,13 +5484,14 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -5584,15 +5538,17 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-134-TO-112]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -5633,7 +5589,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int C_ENUM_ID:Int @@ -5721,13 +5677,13 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -5787,17 +5743,17 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -5844,11 +5797,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-139-TO-93]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -6051,12 +6003,14 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -6101,17 +6058,15 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 orBool ( 10 + rule [BASIC-BLOCK-140-TO-94]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -6152,7 +6107,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int C_ENUM_ID:Int @@ -6166,7 +6121,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - ORIGIN_ID:Int + NOG0:Int @@ -6234,19 +6189,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - .Account + NOG0:Int true - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -6306,19 +6261,15 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -6364,10 +6313,11 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-141-TO-99]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -6429,7 +6379,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - ORIGIN_ID:Int + NOG:Int @@ -6497,7 +6447,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - .Account + NOG:Int true @@ -6570,16 +6520,18 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -6622,10 +6577,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-142-TO-100]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -6832,14 +6787,12 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -6885,10 +6835,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-143-TO-104]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -6950,7 +6900,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG:Int + ORIGIN_ID:Int @@ -7018,7 +6968,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG:Int + .Account true @@ -7091,16 +7041,18 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -7143,15 +7098,17 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-144-TO-105]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -7192,7 +7149,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int C_ENUM_ID:Int @@ -7280,13 +7237,13 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -7346,9 +7303,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool - andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int @@ -7356,7 +7314,6 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -7402,11 +7356,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( ( C_ENUM_MEMBER_CONTRACT_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-145-TO-74]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -7466,7 +7419,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - ORIGIN_ID:Int + NOG:Int @@ -7534,7 +7487,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - .Account + NOG:Int true @@ -7608,13 +7561,15 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -7658,10 +7616,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 orBool ( 10 + rule [BASIC-BLOCK-146-TO-75]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -7864,14 +7822,12 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -7918,10 +7871,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 orBool ( 10 + rule [BASIC-BLOCK-147-TO-84]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 @@ -7981,7 +7934,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG:Int + ORIGIN_ID:Int @@ -8049,7 +8002,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG:Int + .Account true @@ -8123,13 +8076,15 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -8173,16 +8131,13 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 orBool ( 10 + rule [BASIC-BLOCK-148-TO-85]: - ( #next [ STATICCALL ] ~> .K => #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" + ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_ENUM_MEMBER_CONTRACT_ID:Int 128 4 128 32 ~> #pc [ STATICCALL ] ) ~> #endPrank ~> #execute @@ -8213,7 +8168,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) + ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => C_ENUM_MEMBER_CONTRACT_ID:Int ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" @@ -8262,45 +8217,32 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - ( C_ENUM_ID:Int => #address ( FoundryConsole ) ) + C_ENUM_ID:Int - ( C_ENUM_BAL:Int => C_ENUM_MEMBER_CONTRACT_BAL:Int ) + C_ENUM_BAL:Int - ( ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) - C_ENUM_STORAGE:Map ) => C_ENUM_MEMBER_CONTRACT_STORAGE:Map ) + ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) + C_ENUM_STORAGE:Map ) - - ( C_ENUM_ORIGSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map ) - - - ( C_ENUM_TRANSIENTSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map ) - - ( C_ENUM_NONCE:Int => C_ENUM_MEMBER_CONTRACT_NONCE:Int ) + C_ENUM_NONCE:Int ... ( - ( C_ENUM_MEMBER_CONTRACT_ID:Int => C_ENUM_ID:Int ) + C_ENUM_MEMBER_CONTRACT_ID:Int - ( C_ENUM_MEMBER_CONTRACT_BAL:Int => C_ENUM_BAL:Int ) + C_ENUM_MEMBER_CONTRACT_BAL:Int - ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map => ( ( 0 |-> #address ( FoundryConsole ) ) - C_ENUM_STORAGE:Map ) ) + C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - ( C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map => C_ENUM_ORIGSTORAGE:Map ) - - - ( C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map => C_ENUM_TRANSIENTSTORAGE:Map ) - - ( C_ENUM_MEMBER_CONTRACT_NONCE:Int => C_ENUM_NONCE:Int ) + C_ENUM_MEMBER_CONTRACT_NONCE:Int ... @@ -8394,7 +8336,6 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int @@ -8402,7 +8343,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) + andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) @@ -8449,10 +8386,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 orBool ( 10 + rule [BASIC-BLOCK-113-TO-70]: ( #next [ STATICCALL ] ~> .K => #refund 0 @@ -8726,13 +8663,12 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-118-TO-84)] + [priority(20), label(BASIC-BLOCK-113-TO-70)] - rule [BASIC-BLOCK-140-TO-75]: + rule [BASIC-BLOCK-115-TO-82]: - ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" - ~> #refund 0 + ( #next [ STATICCALL ] ~> .K => #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" @@ -8956,7 +8892,6 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) - andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + rule [BASIC-BLOCK-135-TO-73]: ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" @@ -9069,7 +9005,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG0:Int + NOG:Int @@ -9150,7 +9086,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG0:Int + NOG:Int true @@ -9224,7 +9160,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int @@ -9233,6 +9169,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) + andBool ( C_ENUM_ID:Int =/=Int C_ENUM_MEMBER_CONTRACT_ID:Int andBool ( pow24 + rule [BASIC-BLOCK-137-TO-83]: ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" @@ -9347,7 +9282,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - NOG:Int + ORIGIN_ID:Int @@ -9428,7 +9363,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - NOG:Int + .Account true @@ -9502,8 +9437,8 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -9558,9 +9493,9 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-142-TO-88)] + [priority(20), label(BASIC-BLOCK-137-TO-83)] - rule [BASIC-BLOCK-122-TO-91]: + rule [BASIC-BLOCK-117-TO-86]: ( #accessAccounts C_ENUM_MEMBER_CONTRACT_ID:Int @@ -9824,9 +9759,9 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) ) ) ) ))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-122-TO-91)] + [priority(20), label(BASIC-BLOCK-117-TO-86)] - rule [BASIC-BLOCK-123-TO-92]: + rule [BASIC-BLOCK-118-TO-87]: ( #accessAccounts C_ENUM_MEMBER_CONTRACT_ID:Int @@ -10087,9 +10022,9 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) andBool C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) ) ) ) ))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-123-TO-92)] + [priority(20), label(BASIC-BLOCK-118-TO-87)] - rule [BASIC-BLOCK-128-TO-98]: + rule [BASIC-BLOCK-119-TO-90]: ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" @@ -10099,8 +10034,6 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ) ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 132 ~> #execute ~> _CONTINUATION:K @@ -10141,7 +10074,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int C_ENUM_ID:Int @@ -10155,7 +10088,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - ORIGIN_ID:Int + NOG0:Int @@ -10236,19 +10169,19 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 NCL:Int - .Account + NOG0:Int true - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -10308,12 +10241,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 requires ( _ACTIVE_CELL:Bool + andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -10333,6 +10264,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 andBool ( CALLER_ID:Int + rule [BASIC-BLOCK-121-TO-98]: ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" @@ -10647,271 +10580,21 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 orBool ( 10 + rule [BASIC-BLOCK-123-TO-101]: - ( #consoleLog 1756313567 b"" + ( #next [ STATICCALL ] ~> .K => #consoleLog 1756313567 b"" ~> #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] - ~> #execute => #halt ~> .K ) - ~> _CONTINUATION:K - - - NORMAL - - - CANCUN - - - false - - - - - ( OUTPUT_CELL:Bytes => b"" ) - - - ( _STATUSCODE:StatusCode => EVMC_REVERT ) - - - - C_ENUM_ID:Int - - - CALLER_ID:Int - - - b"c6\xf6\x1e" - - - 0 - - - ( ( 132 => 47350120097113101904103772844726262947438265984446388056509121813378311913472 ) : ( ( 1756313567 => 495 ) : ( ( #address ( FoundryConsole ) => 47350120097113101904103772844726262947438265984446388056509121813378311913472 ) : ( ( 5 => 0 ) : ( ( 67 => 128 ) : ( ( 1664546334 => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( .WordStack => ( 198 : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) ) ) ) - - - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) - - - 0 - - - 0 - - - CALLDEPTH_CELL:Int - - - C_ENUM_ID:Int - - ... - - - - 0 - - ... - - - ORIGIN_ID:Int - - - - NUMBER_CELL:Int - - - TIMESTAMP_CELL:Int - - - MIXHASH_CELL:Int - - ... - - ... - - - - 1 - - - ( - - #address ( FoundryConsole ) - - - C_ENUM_MEMBER_CONTRACT_BAL:Int - - - C_ENUM_MEMBER_CONTRACT_STORAGE:Map - - - C_ENUM_MEMBER_CONTRACT_NONCE:Int - - ... - - ( - - C_ENUM_ID:Int - - - C_ENUM_BAL:Int - - - ( ( 0 |-> #address ( FoundryConsole ) ) - C_ENUM_STORAGE:Map ) - - - C_ENUM_NONCE:Int - - ... - - ACCOUNTS_REST:AccountCellMap ) ) - - ... - - - ... - - - true - - - - - NEWCALLER_CELL:Account - - - ACTIVE_CELL:Bool - - - DEPTH_CELL:Int - - ... - - - - ISREVERTEXPECTED_CELL:Bool - - - EXPECTEDDEPTH_CELL:Int - - ... - - - - false - - ... - - - - false - - - .List - - - false - - - .List - - - - .MockCallCellMap - - - .MockFunctionCellMap - - - ( ( b"ADDRESS" |-> "0x1234567890123456789012345678901234567890" ) - ( ( b"ADDRESSARRAY" |-> "0x1234567890123456789012345678901234567890,0x2345678901234567890123456789012345678901,0x3456789012345678901234567890123456789012" ) - ( ( b"ADDRESSINT" |-> "7584896468543216876435687541650546890874" ) - ( ( b"BADADDRESS" |-> "0xGHIJKLMNOPQRSTUVWXYZ1234567890ABCDEFGHSL" ) - ( ( b"BADBOOLFALSE" |-> "notaboolvalue" ) - ( ( b"BADBOOLTRUE" |-> "notaboolvalue" ) - ( ( b"BADBYTES32" |-> "0xbadbytes32_badbytes32_badbytes32_badbytes32_badbytes32_badbytes3" ) - ( ( b"BADINT256" |-> "notanint" ) - ( ( b"BADUINT256" |-> "-100" ) - ( ( b"BOOLARRAY" |-> "true,false,true,false" ) - ( ( b"BOOLFALSE" |-> "false" ) - ( ( b"BOOLTRUE" |-> "true" ) - ( ( b"BYTES" |-> "0xdeadbeef" ) - ( ( b"BYTES32" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0" ) - ( ( b"BYTES32ARRAY" |-> "0x123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef0,0x15864864541fe8548484c8548654189d4184864a48618c54615156d165651f65,0x7468697264d18561e8691a891968f189868c18969d1868641f1818861685a189" ) - ( ( b"INT256" |-> "-100" ) - ( ( b"INT256ARRAY" |-> "-2,-1,0,1,2" ) - ( ( b"STRING" |-> "hello_world" ) - ( ( b"STRINGARRAY" |-> "one,two" ) - ( ( b"UINT256" |-> "100" ) - ( b"UINT256ARRAY" |-> "0,1,2,3,4" ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) - - ... - - - requires ( _C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) - andBool ( 0 <=Int CALLER_ID:Int - andBool ( 0 <=Int C_ENUM_ID:Int - andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int C_ENUM_BAL:Int - andBool ( 0 <=Int C_ENUM_NONCE:Int - andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( pow24 - C_ENUM_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( 0 ==Int ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( CALLER_ID:Int <=Int 0 - orBool ( 10 - - - ( #consoleLog 1756313567 b"" - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] - ~> #execute => #halt ~> .K ) + ~> #pc [ STATICCALL ] ) + ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 132 + ~> #execute ~> _CONTINUATION:K @@ -10925,15 +10608,9 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - - ( OUTPUT_CELL:Bytes => b"" ) - - - ( _STATUSCODE:StatusCode => EVMC_REVERT ) - - C_ENUM_ID:Int + NCL:Int CALLER_ID:Int @@ -10945,10 +10622,10 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - ( ( 132 => 0 ) : ( ( 1756313567 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 5 => 198 ) : ( ( 67 => 5 ) : ( ( 1664546334 => 67 ) : ( .WordStack => ( 1664546334 : .WordStack ) ) ) ) ) ) ) ) + ( ( 0 => 132 ) : ( ( C_ENUM_MEMBER_CONTRACT_ID:Int => 1756313567 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 4 => 5 ) : ( ( 128 => 67 ) : ( ( 32 => 1664546334 ) : ( ( 132 : ( 1756313567 : ( C_ENUM_MEMBER_CONTRACT_ID:Int : ( 5 : ( 67 : ( 1664546334 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00h\xaf7\xdf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -10957,7 +10634,7 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 0 - CALLDEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int C_ENUM_ID:Int @@ -10994,32 +10671,45 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ( - #address ( FoundryConsole ) + ( C_ENUM_ID:Int => #address ( FoundryConsole ) ) - C_ENUM_MEMBER_CONTRACT_BAL:Int + ( C_ENUM_BAL:Int => C_ENUM_MEMBER_CONTRACT_BAL:Int ) - C_ENUM_MEMBER_CONTRACT_STORAGE:Map + ( ( ( 0 |-> C_ENUM_MEMBER_CONTRACT_ID:Int ) + C_ENUM_STORAGE:Map ) => C_ENUM_MEMBER_CONTRACT_STORAGE:Map ) + + ( C_ENUM_ORIGSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map ) + + + ( C_ENUM_TRANSIENTSTORAGE:Map => C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map ) + - C_ENUM_MEMBER_CONTRACT_NONCE:Int + ( C_ENUM_NONCE:Int => C_ENUM_MEMBER_CONTRACT_NONCE:Int ) ... ( - C_ENUM_ID:Int + ( C_ENUM_MEMBER_CONTRACT_ID:Int => C_ENUM_ID:Int ) - C_ENUM_BAL:Int + ( C_ENUM_MEMBER_CONTRACT_BAL:Int => C_ENUM_BAL:Int ) - ( ( 0 |-> #address ( FoundryConsole ) ) - C_ENUM_STORAGE:Map ) + ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map => ( ( 0 |-> #address ( FoundryConsole ) ) + C_ENUM_STORAGE:Map ) ) + + ( C_ENUM_MEMBER_CONTRACT_ORIGSTORAGE:Map => C_ENUM_ORIGSTORAGE:Map ) + + + ( C_ENUM_MEMBER_CONTRACT_TRANSIENTSTORAGE:Map => C_ENUM_TRANSIENTSTORAGE:Map ) + - C_ENUM_NONCE:Int + ( C_ENUM_MEMBER_CONTRACT_NONCE:Int => C_ENUM_NONCE:Int ) ... @@ -11036,19 +10726,22 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 - NEWCALLER_CELL:Account + NCL:Int + + .Account + - ACTIVE_CELL:Bool + true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -11107,17 +10800,25 @@ module SUMMARY-TEST%ENUM.ENUM-STORAGE-RANGE():0 ... - requires ( _C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + requires ( _ACTIVE_CELL:Bool + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_ENUM_MEMBER_CONTRACT_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int C_ENUM_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int C_ENUM_BAL:Int andBool ( 0 <=Int C_ENUM_NONCE:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( C_ENUM_ID:Int =/=Int #address ( FoundryConsole ) andBool ( pow24 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( #lookup ( C_ENUM_MEMBER_CONTRACT_STORAGE:Map , 1 ) C_ENUM_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( notBool - #address ( FoundryConsole ) + C_ENUM_MEMBER_CONTRACT_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -70,7 +70,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 124 +┃ ┃ ┃ ┃ ├─ 122 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -79,7 +79,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ ┃ └─ 101 (leaf, pending) +┃ ┃ ┃ ┃ └─ 91 (leaf, pending) ┃ ┃ ┃ ┃ k: #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) ~> #refund 0 ~> 1 ~> #push ~> #se ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -94,7 +94,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 146 +┃ ┃ ┃ ┃ ├─ 144 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -103,7 +103,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 102 (leaf, pending) +┃ ┃ ┃ ┃ └─ 92 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -114,7 +114,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 147 +┃ ┃ ┃ ├─ 145 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -123,7 +123,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 103 (leaf, pending) +┃ ┃ ┃ └─ 93 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -133,7 +133,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 23 (split) +┃ ┃ ┃ ├─ 21 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -149,7 +149,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 126 +┃ ┃ ┃ ┃ ├─ 124 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -158,7 +158,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ ┃ └─ 96 (leaf, pending) +┃ ┃ ┃ ┃ └─ 94 (leaf, pending) ┃ ┃ ┃ ┃ k: #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) ~> #refund 0 ~> 1 ~> #push ~> #se ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -173,7 +173,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 144 +┃ ┃ ┃ ┃ ├─ 146 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -182,7 +182,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 97 (leaf, pending) +┃ ┃ ┃ ┃ └─ 95 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -193,7 +193,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 145 +┃ ┃ ┃ ├─ 147 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -202,7 +202,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 98 (leaf, pending) +┃ ┃ ┃ └─ 96 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -212,7 +212,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 24 +┃ ┃ ├─ 22 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -223,7 +223,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 42 (split) +┃ ┃ ┃ ├─ 37 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -239,7 +239,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 136 +┃ ┃ ┃ ┃ ├─ 130 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -248,7 +248,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 111 (leaf, pending) +┃ ┃ ┃ ┃ └─ 98 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -259,7 +259,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 137 +┃ ┃ ┃ ├─ 131 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -268,7 +268,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 112 (leaf, pending) +┃ ┃ ┃ └─ 99 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -278,7 +278,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 43 +┃ ┃ ├─ 38 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -289,7 +289,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 70 +┃ ┃ ┃ ├─ 63 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -298,7 +298,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 113 (leaf, pending) +┃ ┃ ┃ └─ 102 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -308,7 +308,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 71 +┃ ┃ ├─ 64 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -319,7 +319,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 114 (leaf, pending) +┃ ┃ ┃ └─ 103 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -329,7 +329,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 115 (leaf, pending) +┃ ┃ └─ 104 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 148 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -363,7 +363,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 39 (split) +┃ ┃ ┃ ├─ 41 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -379,7 +379,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 132 +┃ ┃ ┃ ┃ ├─ 134 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -388,7 +388,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 104 (leaf, pending) +┃ ┃ ┃ ┃ └─ 111 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -399,7 +399,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 133 +┃ ┃ ┃ ├─ 135 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -408,7 +408,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 105 (leaf, pending) +┃ ┃ ┃ └─ 112 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -418,7 +418,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 40 (split) +┃ ┃ ┃ ├─ 42 (split) ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -434,7 +434,7 @@ #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) ┃ ┃ ┃ ┃ │ -┃ ┃ ┃ ┃ ├─ 134 +┃ ┃ ┃ ┃ ├─ 136 ┃ ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -443,7 +443,7 @@ ┃ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ ┃ │ ┃ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ ┃ └─ 106 (leaf, pending) +┃ ┃ ┃ ┃ └─ 108 (leaf, pending) ┃ ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -454,7 +454,7 @@ ┃ ┃ ┃ ┗━━┓ subst: .Subst ┃ ┃ ┃ ┃ constraint: true ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 135 +┃ ┃ ┃ ├─ 137 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -463,7 +463,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 107 (leaf, pending) +┃ ┃ ┃ └─ 109 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -473,7 +473,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 41 +┃ ┃ ├─ 43 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -484,7 +484,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ ├─ 67 +┃ ┃ ┃ ├─ 70 ┃ ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ │ pc: 148 ┃ ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -493,7 +493,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 108 (leaf, pending) +┃ ┃ ┃ └─ 113 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -503,7 +503,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ ├─ 68 +┃ ┃ ├─ 71 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -514,7 +514,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 109 (leaf, pending) +┃ ┃ ┃ └─ 114 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -524,7 +524,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 110 (leaf, pending) +┃ ┃ └─ 115 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 148 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -538,7 +538,7 @@ ┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_IDENTITY_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 28 +┃ ┃ ├─ 30 ┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 164 ~> #execute ~ ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -547,7 +547,7 @@ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ │ ┃ ┃ │ (1 step) -┃ ┃ ├─ 47 +┃ ┃ ├─ 50 ┃ ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -558,7 +558,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 74 (leaf, pending) +┃ ┃ ┃ └─ 80 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -568,7 +568,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 75 (leaf, pending) +┃ ┃ ┃ └─ 81 (leaf, pending) ┃ ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 32 164 ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -578,7 +578,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 76 (leaf, pending) +┃ ┃ └─ 82 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 148 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -592,7 +592,7 @@ ┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_IDENTITY_ID:Int ) ┃ ┃ │ -┃ ┃ ├─ 48 +┃ ┃ ├─ 51 ┃ ┃ │ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 164 ~> #execute ~ ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: EXPECTEDDEPTH_CELL:Int @@ -601,7 +601,7 @@ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ │ ┃ ┃ │ (1 step) -┃ ┃ └─ 79 (leaf, pending) +┃ ┃ └─ 83 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #checkRevert ~> #updateReve ... ┃ ┃ pc: 148 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -615,7 +615,7 @@ ┃ ┃ ┃ DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int ┃ ┃ ┃ ( notBool NEWCALLER_CELL:Account ==K C_IDENTITY_ID:Int ) ┃ ┃ │ -┃ ┃ └─ 80 (leaf, pending) +┃ ┃ └─ 84 (leaf, pending) ┃ ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 164 ~> #execute ~ ... ┃ ┃ pc: 148 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -626,7 +626,7 @@ ┃ ┗━━┓ subst: .Subst ┃ ┃ constraint: true ┃ │ -┃ └─ 81 (leaf, pending) +┃ └─ 85 (leaf, pending) ┃ k: #next [ STATICCALL ] ~> #checkRevert ~> #updateRevertOutput 32 164 ~> #execute ~ ... ┃ pc: 148 ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -720,7 +720,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 77 (leaf, pending) +┃ ┃ ┃ └─ 74 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -740,7 +740,7 @@ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 78 (leaf, pending) +┃ ┃ └─ 75 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ pc: 148 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -775,7 +775,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (6 steps) -┃ ┃ ┃ └─ 82 (leaf, pending) +┃ ┃ ┃ └─ 76 (leaf, pending) ┃ ┃ ┃ k: #refund 0 ~> 1 ~> #push ~> #setLocalMem 128 32 b"" ~> #pc [ STATICCALL ] ~> #end ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -799,7 +799,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 86 (leaf, pending) +┃ ┃ ┃ └─ 77 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) ~> #refund 0 ~> 1 ~> #push ~> #se ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -823,7 +823,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 87 (leaf, pending) +┃ ┃ ┃ └─ 78 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -843,7 +843,7 @@ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 88 (leaf, pending) +┃ ┃ └─ 79 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ pc: 148 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -889,7 +889,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (5 steps) -┃ ┃ ┃ └─ 83 (leaf, pending) +┃ ┃ ┃ └─ 86 (leaf, pending) ┃ ┃ ┃ k: #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) ~> #refund 0 ~> 1 ~> #push ~> #se ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -913,7 +913,7 @@ ┃ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ ┃ │ ┃ ┃ ┃ │ (4 steps) -┃ ┃ ┃ └─ 84 (leaf, pending) +┃ ┃ ┃ └─ 87 (leaf, pending) ┃ ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ ┃ pc: 148 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -933,7 +933,7 @@ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 85 (leaf, pending) +┃ ┃ └─ 88 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ pc: 148 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1020,7 +1020,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ ├─ 56 +┃ ┃ ├─ 60 ┃ ┃ │ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -1029,7 +1029,7 @@ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ │ ┃ ┃ │ (4 steps) -┃ ┃ └─ 91 (leaf, pending) +┃ ┃ └─ 97 (leaf, pending) ┃ ┃ k: STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ... ┃ ┃ pc: 148 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1039,7 +1039,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ ├─ 57 +┃ ├─ 61 ┃ │ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ │ pc: 148 ┃ │ callDepth: DEPTH_CELL:Int @@ -1050,7 +1050,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ └─ 94 (leaf, pending) +┃ ┃ └─ 100 (leaf, pending) ┃ ┃ k: #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ pc: 148 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -1060,7 +1060,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ └─ 95 (leaf, pending) +┃ └─ 101 (leaf, pending) ┃ k: #injectPrank ~> #next [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ pc: 148 ┃ callDepth: DEPTH_CELL:Int @@ -1090,7 +1090,7 @@ ┃ (1 step) ┣━━┓ ┃ │ - ┃ ├─ 20 (split) + ┃ ├─ 23 (split) ┃ │ k: #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) ~> #refund 0 ~> 1 ~> #push ~> #se ... ┃ │ pc: 148 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1103,7 +1103,7 @@ ┃ ┃ ┃ constraint: ┃ ┃ ┃ 0 ==Int ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #refund 0 ~> 1 ~> #push ~> #se ... ┃ ┃ │ pc: 148 ┃ ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1112,7 +1112,7 @@ ┃ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ ┃ │ ┃ ┃ │ (189 steps) - ┃ ┃ └─ 92 (leaf, pending) + ┃ ┃ └─ 105 (leaf, pending) ┃ ┃ k: JUMPI 245 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #refund 0 ~> 1 ~> #push ~> #se ... ┃ │ pc: 148 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1133,7 +1133,7 @@ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ │ ┃ │ (189 steps) - ┃ └─ 93 (leaf, pending) + ┃ └─ 106 (leaf, pending) ┃ k: JUMPI 245 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #checkCall C_IDENTITY_ID:Int 0 ~> #call C_I ... │ pc: 148 │ callDepth: CALLDEPTH_CELL:Int @@ -1156,7 +1156,7 @@ ┃ ┃ constraint: ┃ ┃ CALLDEPTH_CELL:Int #checkCall C_IDENTITY_ID:Int 0 ~> #call C_I ... ┃ │ pc: 148 ┃ │ callDepth: CALLDEPTH_CELL:Int @@ -1165,7 +1165,7 @@ ┃ │ method: src%cse%Identity.applyOp(uint256) ┃ │ ┃ │ (348 steps) - ┃ └─ 99 (leaf, pending) + ┃ └─ 107 (leaf, pending) ┃ k: #halt ~> CONTINUATION:K ┃ pc: 87 ┃ callDepth: CALLDEPTH_CELL:Int @@ -1177,7 +1177,7 @@ ┃ constraint: ┃ 1024 <=Int CALLDEPTH_CELL:Int │ - ├─ 123 + ├─ 127 │ k: #accessAccounts C_IDENTITY_ID:Int ~> #checkCall C_IDENTITY_ID:Int 0 ~> #call C_I ... │ pc: 148 │ callDepth: CALLDEPTH_CELL:Int @@ -1186,7 +1186,7 @@ │ method: src%cse%Identity.applyOp(uint256) │ │ (79 steps) - └─ 100 (leaf, pending) + └─ 110 (leaf, pending) k: #halt ~> CONTINUATION:K pc: 163 callDepth: CALLDEPTH_CELL:Int @@ -2050,7 +2050,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ensures NEWCALLER_CELL:Account ~> .K =/=K C_IDENTITY_ID:Int ~> .K [priority(20), label(BASIC-BLOCK-14-TO-25)] - rule [BASIC-BLOCK-28-TO-47]: + rule [BASIC-BLOCK-30-TO-50]: ( #next [ STATICCALL ] ~> .K => #injectPrank @@ -2269,9 +2269,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) )))))))))))))))))))))))))))))) ensures NEWCALLER_CELL:Account ~> .K =/=K C_IDENTITY_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-28-TO-47)] + [priority(20), label(BASIC-BLOCK-30-TO-50)] - rule [BASIC-BLOCK-48-TO-79]: + rule [BASIC-BLOCK-51-TO-83]: ( #next [ STATICCALL ] ~> .K => #injectPrank @@ -2490,9 +2490,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) )))))))))))))))))))))))))))))) ensures NEWCALLER_CELL:Account ~> .K =/=K C_IDENTITY_ID:Int ~> .K - [priority(20), label(BASIC-BLOCK-48-TO-79)] + [priority(20), label(BASIC-BLOCK-51-TO-83)] - rule [BASIC-BLOCK-56-TO-91]: + rule [BASIC-BLOCK-60-TO-97]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -2715,9 +2715,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-56-TO-91)] + [priority(20), label(BASIC-BLOCK-60-TO-97)] - rule [BASIC-BLOCK-67-TO-108]: + rule [BASIC-BLOCK-63-TO-102]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -2779,7 +2779,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG0:Int + NOG1:Int @@ -2828,7 +2828,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG0:Int + NOG1:Int true @@ -2901,7 +2901,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -2920,7 +2920,8 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int @@ -3005,7 +3006,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG1:Int + NOG0:Int @@ -3054,7 +3055,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG1:Int + NOG0:Int true @@ -3127,7 +3128,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG1:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int @@ -3146,8 +3147,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int @@ -3622,16 +3622,14 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ))))))))))))))))))))))))))))))))) [priority(20), label(BASIC-BLOCK-129-TO-90)] - rule [BASIC-BLOCK-130-TO-92]: + rule [BASIC-BLOCK-130-TO-98]: - ( #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] => JUMPI 245 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) + ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 + ~> #pc [ STATICCALL ] ) + ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 164 ~> #execute ~> _CONTINUATION:K @@ -3646,12 +3644,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - - OUTPUT_CELL:Bytes - - #address ( FoundryConsole ) + NCL:Int CALLER_ID:Int @@ -3663,10 +3658,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - ( ( 164 => 0 ) : ( ( 2889346747 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 0 => 198 ) : ( ( KV0_x:Int => 0 ) : ( ( 70 => KV0_x:Int ) : ( ( 1772879777 => 70 ) : ( .WordStack => ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) + ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => C_IDENTITY_ID:Int ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_x:Int ) => #buf ( 32 , chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) 0 @@ -3675,10 +3670,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - CALLDEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int - #address ( FoundryConsole ) + C_IDENTITY_ID:Int ... @@ -3689,7 +3684,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG0:Int @@ -3712,7 +3707,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ( - #address ( FoundryConsole ) + C_IDENTITY_ID:Int C_IDENTITY_BAL:Int @@ -3735,19 +3730,22 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - NEWCALLER_CELL:Account + NCL:Int + + NOG0:Int + - ACTIVE_CELL:Bool + true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -3806,11 +3804,18 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - requires ( _C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) + requires ( _ACTIVE_CELL:Bool + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( 0 <=Int C_IDENTITY_ID:Int andBool ( 0 <=Int C_IDENTITY_BAL:Int andBool ( 0 <=Int C_IDENTITY_NONCE:Int andBool ( pow24 #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) + andBool ( ( notBool + C_IDENTITY_ID:Int + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-131-TO-99]: - ( #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] => JUMPI 245 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) + ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 + ~> #pc [ STATICCALL ] ) + ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 164 ~> #execute ~> _CONTINUATION:K @@ -3864,12 +3874,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - - OUTPUT_CELL:Bytes - - #address ( FoundryConsole ) + NCL:Int CALLER_ID:Int @@ -3881,10 +3888,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - ( ( 164 => 0 ) : ( ( 2889346747 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 0 => 198 ) : ( ( KV0_x:Int => 0 ) : ( ( 70 => KV0_x:Int ) : ( ( 1772879777 => 70 ) : ( .WordStack => ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) + ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => C_IDENTITY_ID:Int ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_x:Int ) => #buf ( 32 , chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) 0 @@ -3893,10 +3900,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - CALLDEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int - #address ( FoundryConsole ) + C_IDENTITY_ID:Int ... @@ -3907,7 +3914,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG0:Int @@ -3930,7 +3937,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ( - #address ( FoundryConsole ) + C_IDENTITY_ID:Int C_IDENTITY_BAL:Int @@ -3953,19 +3960,22 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - NEWCALLER_CELL:Account + NCL:Int + + NOG0:Int + - ACTIVE_CELL:Bool + true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -4024,11 +4034,17 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - requires ( _C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) + requires ( _ACTIVE_CELL:Bool + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int + andBool ( 0 <=Int C_IDENTITY_ID:Int andBool ( 0 <=Int C_IDENTITY_BAL:Int andBool ( 0 <=Int C_IDENTITY_NONCE:Int andBool ( pow24 - #address ( FoundryConsole ) + C_IDENTITY_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-132-TO-105]: - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 164 + ( #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" + ~> #pc [ STATICCALL ] => JUMPI 245 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) ~> #execute ~> _CONTINUATION:K @@ -4080,9 +4102,12 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 + + OUTPUT_CELL:Bytes + - NCL:Int + #address ( FoundryConsole ) CALLER_ID:Int @@ -4094,10 +4119,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => C_IDENTITY_ID:Int ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) + ( ( 164 => 0 ) : ( ( 2889346747 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 0 => 198 ) : ( ( KV0_x:Int => 0 ) : ( ( 70 => KV0_x:Int ) : ( ( 1772879777 => 70 ) : ( .WordStack => ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_x:Int ) => #buf ( 32 , chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) ) 0 @@ -4106,10 +4131,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - EXPECTEDDEPTH_CELL:Int + CALLDEPTH_CELL:Int - C_IDENTITY_ID:Int + #address ( FoundryConsole ) ... @@ -4120,7 +4145,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG:Int + ORIGIN_ID:Int @@ -4143,7 +4168,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ( - C_IDENTITY_ID:Int + #address ( FoundryConsole ) C_IDENTITY_BAL:Int @@ -4166,22 +4191,19 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - NCL:Int + NEWCALLER_CELL:Account - - NOG:Int - - true + ACTIVE_CELL:Bool - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -4240,18 +4262,11 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) + requires ( _C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int andBool ( 0 <=Int C_IDENTITY_BAL:Int andBool ( 0 <=Int C_IDENTITY_NONCE:Int andBool ( pow24 #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) - andBool ( ( notBool - C_IDENTITY_ID:Int - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-133-TO-106]: - ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 164 + ( #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" + ~> #pc [ STATICCALL ] => JUMPI 245 bool2Word ( ( (chop ( lengthBytes ( OUTPUT_CELL:Bytes ) )) s #pc [ JUMPI ] ) ~> #execute ~> _CONTINUATION:K @@ -4309,9 +4320,12 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 + + OUTPUT_CELL:Bytes + - NCL:Int + #address ( FoundryConsole ) CALLER_ID:Int @@ -4323,10 +4337,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => C_IDENTITY_ID:Int ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) + ( ( 164 => 0 ) : ( ( 2889346747 => 128 ) : ( ( #address ( FoundryConsole ) => chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int 128 ) ) ) : ( ( 0 => 198 ) : ( ( KV0_x:Int => 0 ) : ( ( 70 => KV0_x:Int ) : ( ( 1772879777 => 70 ) : ( .WordStack => ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_x:Int ) => #buf ( 32 , chop ( ( ( notMaxUInt5 &Int chop ( ( lengthBytes ( OUTPUT_CELL:Bytes ) +Int maxUInt5 ) ) ) +Int 128 ) ) ) +Bytes b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) ) 0 @@ -4335,10 +4349,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - EXPECTEDDEPTH_CELL:Int + CALLDEPTH_CELL:Int - C_IDENTITY_ID:Int + #address ( FoundryConsole ) ... @@ -4349,7 +4363,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG:Int + ORIGIN_ID:Int @@ -4372,7 +4386,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ( - C_IDENTITY_ID:Int + #address ( FoundryConsole ) C_IDENTITY_BAL:Int @@ -4395,22 +4409,19 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - NCL:Int + NEWCALLER_CELL:Account - - NOG:Int - - true + ACTIVE_CELL:Bool - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -4469,17 +4480,11 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + requires ( _C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int - andBool ( 0 <=Int C_IDENTITY_ID:Int andBool ( 0 <=Int C_IDENTITY_BAL:Int andBool ( 0 <=Int C_IDENTITY_NONCE:Int andBool ( pow24 - C_IDENTITY_ID:Int + #address ( FoundryConsole ) in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( CALLER_ID:Int <=Int 0 orBool ( 10 + rule [BASIC-BLOCK-134-TO-111]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -4574,7 +4576,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG:Int @@ -4623,7 +4625,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - .Account + NOG:Int true @@ -4696,11 +4698,11 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -4739,9 +4741,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 orBool ( 10 + rule [BASIC-BLOCK-135-TO-112]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -4803,7 +4805,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG:Int @@ -4852,7 +4854,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - .Account + NOG:Int true @@ -4925,10 +4927,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -4964,9 +4966,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 orBool ( 10 + rule [BASIC-BLOCK-136-TO-108]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -5028,7 +5030,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG0:Int + ORIGIN_ID:Int @@ -5077,7 +5079,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG0:Int + .Account true @@ -5150,11 +5152,11 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -5170,7 +5172,6 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int + rule [BASIC-BLOCK-137-TO-109]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -5258,7 +5259,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG0:Int + ORIGIN_ID:Int @@ -5307,7 +5308,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG0:Int + .Account true @@ -5380,10 +5381,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -5399,7 +5400,6 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int + rule [BASIC-BLOCK-142-TO-87]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -5647,9 +5647,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-142-TO-84)] + [priority(20), label(BASIC-BLOCK-142-TO-87)] - rule [BASIC-BLOCK-143-TO-85]: + rule [BASIC-BLOCK-143-TO-88]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -5870,9 +5870,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) )))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-143-TO-85)] + [priority(20), label(BASIC-BLOCK-143-TO-88)] - rule [BASIC-BLOCK-144-TO-97]: + rule [BASIC-BLOCK-144-TO-92]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -5934,7 +5934,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG:Int @@ -5983,7 +5983,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - .Account + NOG:Int true @@ -6056,11 +6056,11 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -6099,9 +6099,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 orBool ( 10 + rule [BASIC-BLOCK-145-TO-93]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -6163,7 +6163,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG:Int @@ -6212,7 +6212,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - .Account + NOG:Int true @@ -6285,10 +6285,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -6324,9 +6324,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 orBool ( 10 + rule [BASIC-BLOCK-146-TO-95]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -6388,7 +6388,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG:Int + ORIGIN_ID:Int @@ -6437,7 +6437,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG:Int + .Account true @@ -6510,11 +6510,11 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -6553,9 +6553,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 orBool ( 10 + rule [BASIC-BLOCK-147-TO-96]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -6617,7 +6617,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG:Int + ORIGIN_ID:Int @@ -6666,7 +6666,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG:Int + .Account true @@ -6739,10 +6739,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -6778,9 +6778,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 orBool ( 10 + rule [BASIC-BLOCK-148-TO-74]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -7004,9 +7004,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-148-TO-77)] + [priority(20), label(BASIC-BLOCK-148-TO-74)] - rule [BASIC-BLOCK-149-TO-78]: + rule [BASIC-BLOCK-149-TO-75]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -7226,9 +7226,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-149-TO-78)] + [priority(20), label(BASIC-BLOCK-149-TO-75)] - rule [BASIC-BLOCK-150-TO-87]: + rule [BASIC-BLOCK-150-TO-78]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -7452,9 +7452,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-150-TO-87)] + [priority(20), label(BASIC-BLOCK-150-TO-78)] - rule [BASIC-BLOCK-151-TO-88]: + rule [BASIC-BLOCK-151-TO-79]: ( #next [ STATICCALL ] ~> .K => STATICCALL 0 C_IDENTITY_ID:Int 128 36 128 32 @@ -7674,7 +7674,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-151-TO-88)] + [priority(20), label(BASIC-BLOCK-151-TO-79)] rule [BASIC-BLOCK-116-TO-72]: @@ -7906,7 +7906,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ensures NCL:Int =/=Int #address ( FoundryConsole ) [priority(20), label(BASIC-BLOCK-116-TO-72)] - rule [BASIC-BLOCK-118-TO-82]: + rule [BASIC-BLOCK-118-TO-76]: ( #next [ STATICCALL ] ~> .K => #refund 0 @@ -8134,7 +8134,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-118-TO-82)] + [priority(20), label(BASIC-BLOCK-118-TO-76)] rule [BASIC-BLOCK-138-TO-73]: @@ -8367,7 +8367,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ensures NCL:Int =/=Int #address ( FoundryConsole ) [priority(20), label(BASIC-BLOCK-138-TO-73)] - rule [BASIC-BLOCK-120-TO-83]: + rule [BASIC-BLOCK-140-TO-77]: ( #next [ STATICCALL ] ~> .K => #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) @@ -8431,7 +8431,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - NOG0:Int + ORIGIN_ID:Int @@ -8480,7 +8480,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - NOG0:Int + .Account true @@ -8554,8 +8554,8 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -8571,7 +8571,6 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int + rule [BASIC-BLOCK-120-TO-86]: ( #next [ STATICCALL ] ~> .K => #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) @@ -8663,7 +8662,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG0:Int @@ -8712,7 +8711,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - .Account + NOG0:Int true @@ -8786,8 +8785,8 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 requires ( _ACTIVE_CELL:Bool andBool ( _CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG0:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -8803,6 +8802,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( CALLER_ID:Int + rule [BASIC-BLOCK-122-TO-91]: ( #next [ STATICCALL ] ~> .K => #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) @@ -8896,7 +8896,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - ORIGIN_ID:Int + NOG:Int @@ -8945,7 +8945,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 NCL:Int - .Account + NOG:Int true @@ -9018,11 +9018,11 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 requires ( _ACTIVE_CELL:Bool andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int andBool ( _ISREVERTEXPECTED_CELL:Bool andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) - andBool ( _NEWORIGIN_CELL:Account ==K .Account andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int @@ -9062,17 +9062,21 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 )) )))))))))))))))))))))))))))))))))) ensures NCL:Int =/=Int #address ( FoundryConsole ) - [priority(20), label(BASIC-BLOCK-126-TO-96)] + [priority(20), label(BASIC-BLOCK-122-TO-91)] - rule [BASIC-BLOCK-122-TO-99]: + rule [BASIC-BLOCK-124-TO-94]: - ( #accessAccounts C_IDENTITY_ID:Int - ~> #checkCall C_IDENTITY_ID:Int 0 - ~> #call C_IDENTITY_ID:Int C_IDENTITY_ID:Int C_IDENTITY_ID:Int 0 0 b"\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) true - ~> #return 128 32 - ~> #pc [ STATICCALL ] - ~> #execute => #halt ~> .K ) + ( #next [ STATICCALL ] ~> .K => #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) + ~> #refund 0 + ~> 1 + ~> #push + ~> #setLocalMem 128 32 b"" + ~> #pc [ STATICCALL ] ) + ~> #endPrank + ~> #checkRevert + ~> #updateRevertOutput 32 164 + ~> #execute ~> _CONTINUATION:K @@ -9086,18 +9090,9 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - - ( _OUTPUT_CELL:Bytes => #buf ( 32 , KV0_x:Int ) ) - - - ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) - - - ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_IDENTITY_ID:Int ) ) - - C_IDENTITY_ID:Int + NCL:Int CALLER_ID:Int @@ -9109,10 +9104,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) + ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_x:Int ) => #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV0_x:Int ) ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) 0 @@ -9121,10 +9116,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - CALLDEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int - C_IDENTITY_ID:Int + ( C_IDENTITY_ID:Int => #address ( FoundryConsole ) ) ... @@ -9132,9 +9127,6 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - - ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_IDENTITY_ID:Int ) ) - ... @@ -9161,7 +9153,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ( - C_IDENTITY_ID:Int + ( C_IDENTITY_ID:Int => #address ( FoundryConsole ) ) C_IDENTITY_BAL:Int @@ -9184,19 +9176,22 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - NEWCALLER_CELL:Account + NCL:Int + + .Account + - ACTIVE_CELL:Bool + true - DEPTH_CELL:Int + EXPECTEDDEPTH_CELL:Int ... - ISREVERTEXPECTED_CELL:Bool + true EXPECTEDDEPTH_CELL:Int @@ -9255,14 +9250,20 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - requires ( 0 <=Int KV0_x:Int + requires ( _ACTIVE_CELL:Bool + andBool ( _NEWCALLER_CELL:Account ==K NCL:Int + andBool ( _ISREVERTEXPECTED_CELL:Bool + andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int + andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) + andBool ( _NEWORIGIN_CELL:Account ==K .Account + andBool ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( 0 <=Int C_IDENTITY_ID:Int andBool ( 0 <=Int C_IDENTITY_BAL:Int andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( CALLDEPTH_CELL:Int + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( notBool C_IDENTITY_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) @@ -9289,15 +9294,11 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( ( C_IDENTITY_ID:Int <=Int 0 orBool ( 10 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) ) ) - andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_IDENTITY_ID:Int ) ) ) - ))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-122-TO-99)] + )))))))))))))))))))))))))))))))))) + ensures NCL:Int =/=Int #address ( FoundryConsole ) + [priority(20), label(BASIC-BLOCK-124-TO-94)] - rule [BASIC-BLOCK-123-TO-100]: + rule [BASIC-BLOCK-126-TO-107]: ( #accessAccounts C_IDENTITY_ID:Int @@ -9320,11 +9321,14 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - ( _OUTPUT_CELL:Bytes => b"" ) + ( _OUTPUT_CELL:Bytes => #buf ( 32 , KV0_x:Int ) ) - ( _STATUSCODE:StatusCode => EVMC_REVERT ) + ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) + + ( TOUCHEDACCOUNTS_CELL:Set => TOUCHEDACCOUNTS_CELL:Set |Set SetItem ( C_IDENTITY_ID:Int ) ) + C_IDENTITY_ID:Int @@ -9339,10 +9343,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - ( ( 164 => 1 ) : ( ( 2889346747 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 0 => C_IDENTITY_ID:Int ) : ( ( KV0_x:Int => 0 ) : ( ( 70 => KV0_x:Int ) : ( ( 1772879777 => 70 ) : ( .WordStack => ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) + ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_x:Int ) => #buf ( 32 , KV0_x:Int ) +Bytes #buf ( 32 , KV0_x:Int ) ) 0 @@ -9492,7 +9496,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( 0 <=Int C_IDENTITY_ID:Int andBool ( 0 <=Int C_IDENTITY_BAL:Int andBool ( 0 <=Int C_IDENTITY_NONCE:Int - andBool ( 1024 <=Int CALLDEPTH_CELL:Int + andBool ( CALLDEPTH_CELL:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) ) ) andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_IDENTITY_ID:Int ) ) ) ))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-123-TO-100)] + [priority(20), label(BASIC-BLOCK-126-TO-107)] - rule [BASIC-BLOCK-124-TO-101]: + rule [BASIC-BLOCK-127-TO-110]: - ( #next [ STATICCALL ] ~> .K => #consoleLog 2889346747 #buf ( 32 , KV0_x:Int ) - ~> #refund 0 - ~> 1 - ~> #push - ~> #setLocalMem 128 32 b"" - ~> #pc [ STATICCALL ] ) - ~> #endPrank - ~> #checkRevert - ~> #updateRevertOutput 32 164 - ~> #execute + ( #accessAccounts C_IDENTITY_ID:Int + ~> #checkCall C_IDENTITY_ID:Int 0 + ~> #call C_IDENTITY_ID:Int C_IDENTITY_ID:Int C_IDENTITY_ID:Int 0 0 b"\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) true + ~> #return 128 32 + ~> #pc [ STATICCALL ] + ~> #execute => #halt ~> .K ) ~> _CONTINUATION:K @@ -9553,9 +9553,15 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 + + ( _OUTPUT_CELL:Bytes => b"" ) + + + ( _STATUSCODE:StatusCode => EVMC_REVERT ) + - NCL:Int + C_IDENTITY_ID:Int CALLER_ID:Int @@ -9567,7 +9573,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - ( ( 0 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 128 => #address ( FoundryConsole ) ) : ( ( 36 => 0 ) : ( ( 128 => KV0_x:Int ) : ( ( 32 => 70 ) : ( ( 164 => 1772879777 ) : ( ( 2889346747 : ( C_IDENTITY_ID:Int : ( 0 : ( KV0_x:Int : ( 70 : ( 1772879777 : .WordStack ) ) ) ) ) ) => .WordStack ) ) ) ) ) ) ) ) + ( ( 164 => 1 ) : ( ( 2889346747 => 164 ) : ( ( C_IDENTITY_ID:Int => 2889346747 ) : ( ( 0 => C_IDENTITY_ID:Int ) : ( ( KV0_x:Int => 0 ) : ( ( 70 => KV0_x:Int ) : ( ( 1772879777 => 70 ) : ( .WordStack => ( 1772879777 : .WordStack ) ) ) ) ) ) ) ) ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xac7\xee\xbb" +Bytes #buf ( 32 , KV0_x:Int ) @@ -9579,10 +9585,10 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 - EXPECTEDDEPTH_CELL:Int + CALLDEPTH_CELL:Int - ( C_IDENTITY_ID:Int => #address ( FoundryConsole ) ) + C_IDENTITY_ID:Int ... @@ -9590,10 +9596,13 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 0 + + ( ACCESSEDACCOUNTS_CELL:Set => ACCESSEDACCOUNTS_CELL:Set |Set SetItem ( C_IDENTITY_ID:Int ) ) + ... - NOG:Int + ORIGIN_ID:Int @@ -9616,7 +9625,7 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ( - ( C_IDENTITY_ID:Int => #address ( FoundryConsole ) ) + C_IDENTITY_ID:Int C_IDENTITY_BAL:Int @@ -9639,22 +9648,19 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 - NCL:Int + NEWCALLER_CELL:Account - - NOG:Int - - true + ACTIVE_CELL:Bool - EXPECTEDDEPTH_CELL:Int + DEPTH_CELL:Int ... - true + ISREVERTEXPECTED_CELL:Bool EXPECTEDDEPTH_CELL:Int @@ -9713,20 +9719,14 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 ... - requires ( _ACTIVE_CELL:Bool - andBool ( _NEWCALLER_CELL:Account ==K NCL:Int - andBool ( _NEWORIGIN_CELL:Account ==K NOG:Int - andBool ( _ISREVERTEXPECTED_CELL:Bool - andBool ( _DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( _CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int - andBool ( C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) - andBool ( 0 <=Int KV0_x:Int + requires ( 0 <=Int KV0_x:Int andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( 0 <=Int C_IDENTITY_ID:Int andBool ( 0 <=Int C_IDENTITY_BAL:Int andBool ( 0 <=Int C_IDENTITY_NONCE:Int + andBool ( 1024 <=Int CALLDEPTH_CELL:Int andBool ( pow24 - #address ( FoundryConsole ) - in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool ( ( notBool C_IDENTITY_ID:Int in_keys ( ACCOUNTS_REST:AccountCellMap ) ) @@ -9757,8 +9753,12 @@ module SUMMARY-SRC%CSE%IDENTITY.APPLYOP(UINT256):0 andBool ( ( C_IDENTITY_ID:Int <=Int 0 orBool ( 10 + #address ( FoundryConsole ) + in_keys ( ACCOUNTS_REST:AccountCellMap ) ) andBool C_IDENTITY_ID:Int ==Int #address ( FoundryConsole ) ) ) + andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_IDENTITY_ID:Int ) ) ) + ))))))))))))))))))))))))))))) + [priority(20), label(BASIC-BLOCK-127-TO-110)] endmodule \ No newline at end of file diff --git a/src/tests/integration/test-data/show/TGovernance.getEscrowTokenTotalSupply().cse.expected b/src/tests/integration/test-data/show/TGovernance.getEscrowTokenTotalSupply().cse.expected index 438bf95e9..6466f7bf2 100644 --- a/src/tests/integration/test-data/show/TGovernance.getEscrowTokenTotalSupply().cse.expected +++ b/src/tests/integration/test-data/show/TGovernance.getEscrowTokenTotalSupply().cse.expected @@ -147,7 +147,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 45 (leaf, pending) +┃ ┃ ┃ └─ 47 (leaf, pending) ┃ ┃ ┃ k: #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #ex ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -157,7 +157,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 46 (leaf, pending) +┃ ┃ ┃ └─ 48 (leaf, pending) ┃ ┃ ┃ k: #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutput 128 32 ~> #ex ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -167,7 +167,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 47 (leaf, pending) +┃ ┃ └─ 49 (leaf, pending) ┃ ┃ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #checkRevert ~> #updateRevertOutp ... ┃ ┃ pc: 138 ┃ ┃ callDepth: EXPECTEDDEPTH_CELL:Int @@ -233,7 +233,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 33 (leaf, pending) +┃ ┃ ┃ └─ 26 (leaf, pending) ┃ ┃ ┃ k: #refund 0 ~> #pushCallStack ~> #pushWorldState ~> #end EVMC_BALANCE_UNDERFLOW ~> ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -243,7 +243,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 34 (leaf, pending) +┃ ┃ ┃ └─ 27 (leaf, pending) ┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_E ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -253,7 +253,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 35 (leaf, pending) +┃ ┃ ┃ └─ 28 (leaf, pending) ┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int NCL:Int NCL:Int 0 0 b"W\xdf\x84K" false ~> ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -263,7 +263,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 36 (leaf, pending) +┃ ┃ ┃ └─ 29 (leaf, pending) ┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_E ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -273,7 +273,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 37 (leaf, pending) +┃ ┃ └─ 30 (leaf, pending) ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... ┃ ┃ pc: 138 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -303,7 +303,7 @@ ┃ ┃ ┃ (1 step) ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 26 (leaf, pending) +┃ ┃ ┃ └─ 33 (leaf, pending) ┃ ┃ ┃ k: #refund 0 ~> #pushCallStack ~> #pushWorldState ~> #end EVMC_BALANCE_UNDERFLOW ~> ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -313,7 +313,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 27 (leaf, pending) +┃ ┃ ┃ └─ 34 (leaf, pending) ┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_E ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -323,7 +323,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 28 (leaf, pending) +┃ ┃ ┃ └─ 35 (leaf, pending) ┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int NCL:Int NCL:Int 0 0 b"W\xdf\x84K" false ~> ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -333,7 +333,7 @@ ┃ ┃ ┃ ┃ ┃ ┣━━┓ ┃ ┃ ┃ │ -┃ ┃ ┃ └─ 29 (leaf, pending) +┃ ┃ ┃ └─ 36 (leaf, pending) ┃ ┃ ┃ k: #checkDepthExceeded ~> #call NCL:Int C_TGOVERNANCE_ESCROW_ID:Int C_TGOVERNANCE_E ... ┃ ┃ ┃ pc: 138 ┃ ┃ ┃ callDepth: DEPTH_CELL:Int @@ -343,7 +343,7 @@ ┃ ┃ ┃ ┃ ┃ ┗━━┓ ┃ ┃ │ -┃ ┃ └─ 30 (leaf, pending) +┃ ┃ └─ 37 (leaf, pending) ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... ┃ ┃ pc: 138 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -364,7 +364,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ ├─ 23 +┃ ┃ ├─ 21 ┃ ┃ │ k: #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ │ pc: 138 ┃ ┃ │ callDepth: DEPTH_CELL:Int @@ -373,7 +373,7 @@ ┃ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() ┃ ┃ │ ┃ ┃ │ (7 steps) -┃ ┃ └─ 44 (leaf, pending) +┃ ┃ └─ 42 (leaf, pending) ┃ ┃ k: #checkBalanceUnderflow NCL:Int 0 ~> #checkDepthExceeded ~> #call NCL:Int C_TGOVE ... ┃ ┃ pc: 138 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -383,7 +383,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ ├─ 24 +┃ ├─ 22 ┃ │ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ │ pc: 138 ┃ │ callDepth: DEPTH_CELL:Int @@ -394,7 +394,7 @@ ┃ ┃ (1 step) ┃ ┣━━┓ ┃ ┃ │ -┃ ┃ └─ 48 (leaf, pending) +┃ ┃ └─ 43 (leaf, pending) ┃ ┃ k: #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ ┃ pc: 138 ┃ ┃ callDepth: DEPTH_CELL:Int @@ -404,7 +404,7 @@ ┃ ┃ ┃ ┗━━┓ ┃ │ -┃ └─ 49 (leaf, pending) +┃ └─ 44 (leaf, pending) ┃ k: #injectPrank ~> #next [ CALL ] ~> #endPrank ~> #execute ~> CONTINUATION:K ┃ pc: 138 ┃ callDepth: DEPTH_CELL:Int @@ -436,7 +436,7 @@ ┃ │ method: test%TGovernance.getEscrowTokenTotalSupply() ┃ │ ┃ │ (24 steps) - ┃ └─ 42 (leaf, pending) + ┃ └─ 45 (leaf, pending) ┃ k: #next [ CALL ] ~> #execute ~> #return 128 32 ~> #pc [ CALL ] ~> #execute ~> CONT ... ┃ pc: 143 ┃ callDepth: ( CALLDEPTH_CELL:Int +Int 1 ) @@ -457,7 +457,7 @@ │ method: test%TGovernance.getEscrowTokenTotalSupply() │ │ (83 steps) - └─ 43 (leaf, pending) + └─ 46 (leaf, pending) k: #halt ~> CONTINUATION:K pc: 153 callDepth: CALLDEPTH_CELL:Int @@ -2486,7 +2486,7 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 ))))))))))))))))))))))))))))))))))))))))))))))))))))))) [priority(20), label(BASIC-BLOCK-19-TO-39)] - rule [BASIC-BLOCK-23-TO-44]: + rule [BASIC-BLOCK-21-TO-42]: ( #next [ CALL ] ~> .K => #checkBalanceUnderflow NCL:Int 0 @@ -2779,9 +2779,9 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 )) andBool ( ( notBool ( DEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) ))))))))))))))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-23-TO-44)] + [priority(20), label(BASIC-BLOCK-21-TO-42)] - rule [BASIC-BLOCK-50-TO-42]: + rule [BASIC-BLOCK-50-TO-45]: ( #addr [ CALL ] @@ -3231,9 +3231,9 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 andBool ( ( notBool ( CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_TGOVERNANCE_ID:Int ) ) ) ))))))))))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-50-TO-42)] + [priority(20), label(BASIC-BLOCK-50-TO-45)] - rule [BASIC-BLOCK-51-TO-43]: + rule [BASIC-BLOCK-51-TO-46]: ( #addr [ CALL ] @@ -3522,6 +3522,6 @@ module SUMMARY-TEST%TGOVERNANCE.GETESCROWTOKENTOTALSUPPLY():0 andBool ( ( notBool ( CALLDEPTH_CELL:Int ==Int EXPECTEDDEPTH_CELL:Int andBool ISREVERTEXPECTED_CELL:Bool ) ) andBool ( ( notBool ( ACTIVE_CELL:Bool andBool ( CALLDEPTH_CELL:Int ==Int DEPTH_CELL:Int andBool NEWCALLER_CELL:Account =/=K C_TGOVERNANCE_ID:Int ) ) ) ))))))))))))))))))))))))))))))))))))))))))))))))))) - [priority(20), label(BASIC-BLOCK-51-TO-43)] + [priority(20), label(BASIC-BLOCK-51-TO-46)] endmodule \ No newline at end of file diff --git a/src/tests/integration/test-data/show/minimized/AssertTest.test_failing_branch(uint256).expected b/src/tests/integration/test-data/show/minimized/AssertTest.test_failing_branch(uint256).expected index c14bca51c..0ebc5983e 100644 --- a/src/tests/integration/test-data/show/minimized/AssertTest.test_failing_branch(uint256).expected +++ b/src/tests/integration/test-data/show/minimized/AssertTest.test_failing_branch(uint256).expected @@ -30,7 +30,7 @@ ┃ │ method: test%AssertTest.test_failing_branch(uint256) ┃ │ ┃ │ (42 steps) -┃ ├─ 15 (terminal) +┃ ├─ 14 (terminal) ┃ │ k: #halt ~> CONTINUATION:K ┃ │ pc: 328 ┃ │ callDepth: 0 @@ -569,7 +569,7 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):1 )) [priority(20), label(BASIC-BLOCK-1-TO-8)] - rule [BASIC-BLOCK-9-TO-15]: + rule [BASIC-BLOCK-9-TO-14]: ( JUMPI 1124 bool2Word ( 100 <=Int KV0_x:Int ) @@ -816,7 +816,7 @@ module SUMMARY-TEST%ASSERTTEST.TEST-FAILING-BRANCH(UINT256):1 andBool ( KV0_x:Int diff --git a/src/tests/integration/test-data/show/minimized/MergeKCFGTest.test_branch_merge(uint256,uint256,bool).expected b/src/tests/integration/test-data/show/minimized/MergeKCFGTest.test_branch_merge(uint256,uint256,bool).expected index cd11a4d91..6add3a7fd 100644 --- a/src/tests/integration/test-data/show/minimized/MergeKCFGTest.test_branch_merge(uint256,uint256,bool).expected +++ b/src/tests/integration/test-data/show/minimized/MergeKCFGTest.test_branch_merge(uint256,uint256,bool).expected @@ -32,7 +32,7 @@ ┃ ┃ 0 <=Int KV2_z:Int ┃ ┃ ( notBool KV2_z:Int ==Int 0 ) ┃ │ -┃ ├─ 41 (terminal) +┃ ├─ 43 (terminal) ┃ │ k: #halt ~> CONTINUATION:K ┃ │ pc: 194 ┃ │ callDepth: 0 @@ -53,7 +53,7 @@ ┃ ┃ KV2_z:Int ==Int 0 ┃ ┃ ( KV0_x:Int ==Int 0 orBool KV1_y:Int <=Int maxUInt256 /Word KV0_x:Int ) ┃ │ -┃ ├─ 43 (terminal) +┃ ├─ 41 (terminal) ┃ │ k: #halt ~> CONTINUATION:K ┃ │ pc: 194 ┃ │ callDepth: 0 diff --git a/src/tests/integration/test-data/show/split-node.expected b/src/tests/integration/test-data/show/split-node.expected index d8d72ca36..e81b35e07 100644 --- a/src/tests/integration/test-data/show/split-node.expected +++ b/src/tests/integration/test-data/show/split-node.expected @@ -137,7 +137,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 88 + ┃ ├─ 84 ┃ │ k: #accessAccounts 491460923342184218035706888008750043977755113263 ~> #checkCall # ... ┃ │ pc: 3369 ┃ │ callDepth: 0 @@ -145,7 +145,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (18 steps) - ┃ ├─ 95 + ┃ ├─ 89 ┃ │ k: #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> # ... ┃ │ pc: 0 ┃ │ callDepth: 1 @@ -154,7 +154,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 98 + ┃ ├─ 92 ┃ │ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 0 ┃ │ callDepth: 1 @@ -163,7 +163,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (320 steps) - ┃ ├─ 102 + ┃ ├─ 96 ┃ │ k: #end EVMC_SUCCESS ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATI ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -172,7 +172,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 106 + ┃ ├─ 99 ┃ │ k: #halt ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> # ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -181,7 +181,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (2 steps) - ┃ ├─ 110 + ┃ ├─ 104 ┃ │ k: #halt ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -190,7 +190,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 114 + ┃ ├─ 108 ┃ │ k: #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 ~> #setLocalMem 128 ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -199,7 +199,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (548 steps) - ┃ ├─ 118 + ┃ ├─ 112 ┃ │ k: CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> #pc [ CALL ] ~> #execute ~> CO ... ┃ │ pc: 1578 ┃ │ callDepth: 0 @@ -208,7 +208,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 121 + ┃ ├─ 115 ┃ │ k: #accessAccounts #address ( FoundryCheat ) ~> #checkCall #address ( FoundryTest ) ... ┃ │ pc: 1578 ┃ │ callDepth: 0 @@ -217,7 +217,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (102 steps) - ┃ ├─ 125 + ┃ ├─ 119 ┃ │ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -226,7 +226,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 128 + ┃ ├─ 123 ┃ │ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -235,7 +235,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (2 steps) - ┃ ├─ 131 (terminal) + ┃ ├─ 127 (terminal) ┃ │ k: #halt ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -269,7 +269,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 85 + ┃ ├─ 86 ┃ │ k: #accessAccounts 491460923342184218035706888008750043977755113263 ~> #checkCall # ... ┃ │ pc: 3369 ┃ │ callDepth: 0 @@ -277,7 +277,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (18 steps) - ┃ ├─ 89 + ┃ ├─ 90 ┃ │ k: #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> # ... ┃ │ pc: 0 ┃ │ callDepth: 1 @@ -286,7 +286,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 92 + ┃ ├─ 93 ┃ │ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute ~> CON ... ┃ │ pc: 0 ┃ │ callDepth: 1 @@ -295,7 +295,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (320 steps) - ┃ ├─ 96 + ┃ ├─ 97 ┃ │ k: #end EVMC_SUCCESS ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATI ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -304,7 +304,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 100 + ┃ ├─ 98 ┃ │ k: #halt ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> # ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -313,7 +313,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (2 steps) - ┃ ├─ 104 + ┃ ├─ 102 ┃ │ k: #halt ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTIN ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -322,7 +322,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 108 + ┃ ├─ 106 ┃ │ k: #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 ~> #setLocalMem 128 ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -331,7 +331,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (549 steps) - ┃ ├─ 112 + ┃ ├─ 110 ┃ │ k: CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> #pc [ CALL ] ~> #execute ~> CO ... ┃ │ pc: 1578 ┃ │ callDepth: 0 @@ -340,7 +340,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 116 + ┃ ├─ 113 ┃ │ k: #accessAccounts #address ( FoundryCheat ) ~> #checkCall #address ( FoundryTest ) ... ┃ │ pc: 1578 ┃ │ callDepth: 0 @@ -349,7 +349,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (102 steps) - ┃ ├─ 123 + ┃ ├─ 117 ┃ │ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -358,7 +358,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 127 + ┃ ├─ 120 ┃ │ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -367,7 +367,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (2 steps) - ┃ ├─ 130 (terminal) + ┃ ├─ 124 (terminal) ┃ │ k: #halt ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -427,7 +427,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (320 steps) - ┃ ├─ 101 + ┃ ├─ 100 ┃ │ k: #end EVMC_SUCCESS ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATI ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -436,7 +436,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 105 + ┃ ├─ 103 ┃ │ k: #halt ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> # ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -445,7 +445,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (2 steps) - ┃ ├─ 109 + ┃ ├─ 107 ┃ │ k: #halt ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTIN ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -454,7 +454,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (1 step) - ┃ ├─ 113 + ┃ ├─ 111 ┃ │ k: #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 ~> #setLocalMem 128 ... ┃ │ pc: 130 ┃ │ callDepth: 1 @@ -463,7 +463,7 @@ ┃ │ method: src%Prank.msgSender() ┃ │ ┃ │ (549 steps) - ┃ ├─ 117 + ┃ ├─ 116 ┃ │ k: CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> #pc [ CALL ] ~> #execute ~> CO ... ┃ │ pc: 1578 ┃ │ callDepth: 0 @@ -472,7 +472,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 122 + ┃ ├─ 121 ┃ │ k: #accessAccounts #address ( FoundryCheat ) ~> #checkCall #address ( FoundryTest ) ... ┃ │ pc: 1578 ┃ │ callDepth: 0 @@ -490,7 +490,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (1 step) - ┃ ├─ 129 + ┃ ├─ 128 ┃ │ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -499,7 +499,7 @@ ┃ │ method: test%PrankTest.testSymbolicStartPrank(address) ┃ │ ┃ │ (2 steps) - ┃ ├─ 132 (terminal) + ┃ ├─ 131 (terminal) ┃ │ k: #halt ~> CONTINUATION:K ┃ │ pc: 292 ┃ │ callDepth: 0 @@ -525,7 +525,7 @@ │ method: test%PrankTest.testSymbolicStartPrank(address) │ │ (242 steps) - ├─ 84 + ├─ 85 │ k: STATICCALL 0 491460923342184218035706888008750043977755113263 128 4 128 32 ~> #p ... │ pc: 3369 │ callDepth: 0 @@ -533,7 +533,7 @@ │ method: test%PrankTest.testSymbolicStartPrank(address) │ │ (1 step) - ├─ 86 + ├─ 88 │ k: #accessAccounts 491460923342184218035706888008750043977755113263 ~> #checkCall K ... │ pc: 3369 │ callDepth: 0 @@ -541,7 +541,7 @@ │ method: test%PrankTest.testSymbolicStartPrank(address) │ │ (18 steps) - ├─ 90 + ├─ 95 │ k: #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> # ... │ pc: 0 │ callDepth: 1 @@ -550,7 +550,7 @@ │ method: src%Prank.msgSender() │ │ (1 step) - ├─ 93 + ├─ 101 │ k: #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute ~> CON ... │ pc: 0 │ callDepth: 1 @@ -559,7 +559,7 @@ │ method: src%Prank.msgSender() │ │ (320 steps) - ├─ 97 + ├─ 105 │ k: #end EVMC_SUCCESS ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATI ... │ pc: 130 │ callDepth: 1 @@ -568,7 +568,7 @@ │ method: src%Prank.msgSender() │ │ (1 step) - ├─ 99 + ├─ 109 │ k: #halt ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> # ... │ pc: 130 │ callDepth: 1 @@ -577,7 +577,7 @@ │ method: src%Prank.msgSender() │ │ (2 steps) - ├─ 103 + ├─ 114 │ k: #halt ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute ~> CONTIN ... │ pc: 130 │ callDepth: 1 @@ -586,7 +586,7 @@ │ method: src%Prank.msgSender() │ │ (1 step) - ├─ 107 + ├─ 118 │ k: #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 ~> #setLocalMem 128 ... │ pc: 130 │ callDepth: 1 @@ -595,7 +595,7 @@ │ method: src%Prank.msgSender() │ │ (549 steps) - ├─ 111 + ├─ 122 │ k: CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> #pc [ CALL ] ~> #execute ~> CO ... │ pc: 1578 │ callDepth: 0 @@ -604,7 +604,7 @@ │ method: test%PrankTest.testSymbolicStartPrank(address) │ │ (1 step) - ├─ 115 + ├─ 125 │ k: #accessAccounts #address ( FoundryCheat ) ~> #checkCall #address ( FoundryTest ) ... │ pc: 1578 │ callDepth: 0 @@ -613,7 +613,7 @@ │ method: test%PrankTest.testSymbolicStartPrank(address) │ │ (102 steps) - ├─ 119 + ├─ 129 │ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K │ pc: 292 │ callDepth: 0 @@ -622,7 +622,7 @@ │ method: test%PrankTest.testSymbolicStartPrank(address) │ │ (1 step) - ├─ 120 + ├─ 130 │ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K │ pc: 292 │ callDepth: 0 @@ -631,7 +631,7 @@ │ method: test%PrankTest.testSymbolicStartPrank(address) │ │ (2 steps) - ├─ 124 (terminal) + ├─ 132 (terminal) │ k: #halt ~> CONTINUATION:K │ pc: 292 │ callDepth: 0 @@ -2875,16 +2875,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 )))))))))) [priority(20), label(BASIC-BLOCK-79-TO-83)] - rule [BASIC-BLOCK-80-TO-84]: + rule [BASIC-BLOCK-81-TO-84]: - ( #newAccount KV0_addr:Int - ~> #accessAccounts KV0_addr:Int - ~> #setPrank KV0_addr:Int .Account false - ~> #cheatcode_return 128 0 - ~> #pc [ CALL ] => STATICCALL 0 491460923342184218035706888008750043977755113263 128 4 128 32 + ( STATICCALL 0 491460923342184218035706888008750043977755113263 128 4 128 32 ~> .K => #accessAccounts 491460923342184218035706888008750043977755113263 + ~> #checkCall #address ( FoundryTest ) 0 + ~> #call #address ( FoundryTest ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true + ~> #return 128 32 ) ~> #pc [ STATICCALL ] - ~> #endPrank ) ~> #execute ~> _CONTINUATION:K @@ -2913,22 +2911,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( #address ( FoundryTest ) => KV0_addr:Int ) + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( ( 164 => 132 ) : ( ( selector ( "startPrank(address)" ) => 3610759367 ) : ( ( #address ( FoundryCheat ) => 491460923342184218035706888008750043977755113263 ) : ( KV0_addr:Int : ( ( 291 => KV0_addr:Int ) : ( ( 1757857939 => 291 ) : ( .WordStack => ( 1757857939 : .WordStack ) ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06D}V" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_addr:Int ) => #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -2955,7 +2953,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) => SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( #address ( FoundryTest ) ) ) .Map @@ -3009,47 +3007,6 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... ( - - 491460923342184218035706888008750043977755113263 - - - 0 - - - .Map - - - .Map - - - .Map - - - 1 - - ... - - ( - - #address ( FoundryTest ) - - - maxUInt96 - - - ( 27 |-> 491460923342184218035706888008750043977755113263 ) - - - .Map - - - .Map - - - 2 - - ... - => ( #address ( FoundryTest ) @@ -3072,7 +3029,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - KV0_addr:Int + 491460923342184218035706888008750043977755113263 0 @@ -3087,10 +3044,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Map - 0 + 1 ... - ) ) ) ) + ) ) ... @@ -3103,22 +3060,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( _PREVCALLER_CELL:Account => #address ( FoundryTest ) ) + #address ( FoundryTest ) - ( _PREVORIGIN_CELL:Account => 137122462167341575662000267002353578582749290296 ) + 137122462167341575662000267002353578582749290296 - ( _NEWCALLER_CELL:Account => KV0_addr:Int ) + #address ( FoundryTest ) - ( _NEWORIGIN_CELL:Account => .Account ) + .Account - ( false => true ) + true - ( _DEPTH_CELL:Int => 0 ) + 0 false @@ -3190,32 +3147,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-80-TO-85]: - ( STATICCALL 0 491460923342184218035706888008750043977755113263 128 4 128 32 ~> .K => #accessAccounts 491460923342184218035706888008750043977755113263 - ~> #checkCall #address ( FoundryCheat ) 0 - ~> #call #address ( FoundryCheat ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true - ~> #return 128 32 ) + ( #newAccount KV0_addr:Int + ~> #accessAccounts KV0_addr:Int + ~> #setPrank KV0_addr:Int .Account false + ~> #cheatcode_return 128 0 + ~> #pc [ CALL ] => STATICCALL 0 491460923342184218035706888008750043977755113263 128 4 128 32 ~> #pc [ STATICCALL ] - ~> #endPrank + ~> #endPrank ) ~> #execute ~> _CONTINUATION:K @@ -3244,22 +3198,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #address ( FoundryCheat ) + ( #address ( FoundryTest ) => KV0_addr:Int ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( ( 164 => 132 ) : ( ( selector ( "startPrank(address)" ) => 3610759367 ) : ( ( #address ( FoundryCheat ) => 491460923342184218035706888008750043977755113263 ) : ( KV0_addr:Int : ( ( 291 => KV0_addr:Int ) : ( ( 1757857939 => 291 ) : ( .WordStack => ( 1757857939 : .WordStack ) ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06D}V" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_addr:Int ) => #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) ) 0 @@ -3286,7 +3240,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) + ( SetItem ( #address ( FoundryCheat ) ) => SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) ) .Map @@ -3340,6 +3294,47 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + + ( + + #address ( FoundryTest ) + + + maxUInt96 + + + ( 27 |-> 491460923342184218035706888008750043977755113263 ) + + + .Map + + + .Map + + + 2 + + ... + => ( #address ( FoundryTest ) @@ -3362,7 +3357,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int 0 @@ -3377,10 +3372,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Map - 1 + 0 ... - ) ) + ) ) ) ) ... @@ -3393,22 +3388,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #address ( FoundryTest ) + ( _PREVCALLER_CELL:Account => #address ( FoundryTest ) ) - 137122462167341575662000267002353578582749290296 + ( _PREVORIGIN_CELL:Account => 137122462167341575662000267002353578582749290296 ) - #address ( FoundryCheat ) + ( _NEWCALLER_CELL:Account => KV0_addr:Int ) - .Account + ( _NEWORIGIN_CELL:Account => .Account ) - true + ( false => true ) - 0 + ( _DEPTH_CELL:Int => 0 ) false @@ -3480,25 +3475,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-82-TO-86]: ( STATICCALL 0 491460923342184218035706888008750043977755113263 128 4 128 32 ~> .K => #accessAccounts 491460923342184218035706888008750043977755113263 - ~> #checkCall KV0_addr:Int 0 - ~> #call KV0_addr:Int 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true + ~> #checkCall #address ( FoundryCheat ) 0 + ~> #call #address ( FoundryCheat ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true ~> #return 128 32 ) ~> #pc [ STATICCALL ] ~> #endPrank @@ -3530,22 +3529,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - KV0_addr:Int + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -3572,7 +3571,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) + SetItem ( #address ( FoundryCheat ) ) .Map @@ -3646,7 +3645,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -3666,28 +3665,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -3706,7 +3684,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryCheat ) .Account @@ -3787,22 +3765,18 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 @@ -4090,14 +4064,15 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 )))))))))) [priority(20), label(BASIC-BLOCK-83-TO-87)] - rule [BASIC-BLOCK-81-TO-88]: + rule [BASIC-BLOCK-85-TO-88]: ( STATICCALL 0 491460923342184218035706888008750043977755113263 128 4 128 32 ~> .K => #accessAccounts 491460923342184218035706888008750043977755113263 - ~> #checkCall #address ( FoundryTest ) 0 - ~> #call #address ( FoundryTest ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true + ~> #checkCall KV0_addr:Int 0 + ~> #call KV0_addr:Int 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true ~> #return 128 32 ) ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -4126,22 +4101,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #address ( FoundryTest ) + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -4168,7 +4143,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( #address ( FoundryTest ) ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) .Map @@ -4242,7 +4217,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -4262,7 +4237,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -4281,7 +4277,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + KV0_addr:Int .Account @@ -4362,29 +4358,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-84-TO-89]: ( #accessAccounts 491460923342184218035706888008750043977755113263 - ~> #checkCall #address ( FoundryCheat ) 0 - ~> #call #address ( FoundryCheat ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true => #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) + ~> #checkCall #address ( FoundryTest ) 0 + ~> #call #address ( FoundryTest ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true => #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> #execute ) ~> #return 128 32 ~> #pc [ STATICCALL ] - ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -4405,22 +4404,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( .List => ListItem ( - #address ( FoundryCheat ) + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -4516,7 +4515,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -4527,26 +4526,26 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) ) - ( .Set => ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( .Set => ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) - ( #address ( FoundryCheat ) => 491460923342184218035706888008750043977755113263 ) + ( #address ( FoundryTest ) => 491460923342184218035706888008750043977755113263 ) - ( 137122462167341575662000267002353578582749290296 => #address ( FoundryCheat ) ) + ( 137122462167341575662000267002353578582749290296 => #address ( FoundryTest ) ) - ( b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" => b"\xd77\xd0\xc7" ) + ( b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" => b"\xd77\xd0\xc7" ) 0 - ( ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) => .WordStack ) + ( ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) => .WordStack ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" => b"" ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" => b"" ) 0 @@ -4576,7 +4575,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) => ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( ( #address ( FoundryCheat ) => 491460923342184218035706888008750043977755113263 ) ) ( SetItem ( #address ( FoundryTest ) ) => ( SetItem ( #address ( FoundryCheat ) ) SetItem ( #address ( FoundryTest ) ) ) ) ) .Map @@ -4688,7 +4687,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + #address ( FoundryTest ) .Account @@ -4769,7 +4768,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 ( #accessAccounts 491460923342184218035706888008750043977755113263 - ~> #checkCall KV0_addr:Int 0 - ~> #call KV0_addr:Int 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true => #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) + ~> #checkCall #address ( FoundryCheat ) 0 + ~> #call #address ( FoundryCheat ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true => #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> #execute ) ~> #return 128 32 ~> #pc [ STATICCALL ] @@ -4812,22 +4811,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( .List => ListItem ( - KV0_addr:Int + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -4891,7 +4890,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -4911,28 +4910,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) | SELFDESTRUCT_CELL:Set @@ -4944,7 +4922,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -4955,26 +4933,26 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) ) - ( .Set => SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( .Set => ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) - ( KV0_addr:Int => 491460923342184218035706888008750043977755113263 ) + ( #address ( FoundryCheat ) => 491460923342184218035706888008750043977755113263 ) - ( 137122462167341575662000267002353578582749290296 => KV0_addr:Int ) + ( 137122462167341575662000267002353578582749290296 => #address ( FoundryCheat ) ) - ( b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) => b"\xd77\xd0\xc7" ) + ( b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" => b"\xd77\xd0\xc7" ) 0 - ( ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) => .WordStack ) + ( ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) => .WordStack ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) => b"" ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" => b"" ) 0 @@ -5004,7 +4982,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) => SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) ) |Set SetItem ( ( KV0_addr:Int => 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) => ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -5077,7 +5055,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -5097,28 +5075,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -5137,7 +5094,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryCheat ) .Account @@ -5218,21 +5175,17 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 @@ -5649,7 +5602,6 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] - ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -5670,22 +5622,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ListItem ( - #address ( FoundryCheat ) + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -5781,7 +5733,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -5792,14 +5744,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - #address ( FoundryCheat ) + #address ( FoundryTest ) b"\xd77\xd0\xc7" @@ -5841,7 +5793,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -5953,7 +5905,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + #address ( FoundryTest ) .Account @@ -6034,7 +5986,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 ListItem ( - KV0_addr:Int + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -6154,7 +6106,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -6174,28 +6126,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) | SELFDESTRUCT_CELL:Set @@ -6207,7 +6138,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -6218,14 +6149,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - KV0_addr:Int + #address ( FoundryCheat ) b"\xd77\xd0\xc7" @@ -6267,7 +6198,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -6340,7 +6271,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -6360,28 +6291,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -6400,7 +6310,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryCheat ) .Account @@ -6481,21 +6391,17 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 @@ -6907,11 +6813,12 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( #accessAccounts 491460923342184218035706888008750043977755113263 - ~> #checkCall #address ( FoundryTest ) 0 - ~> #call #address ( FoundryTest ) 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true => #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) + ~> #checkCall KV0_addr:Int 0 + ~> #call KV0_addr:Int 491460923342184218035706888008750043977755113263 491460923342184218035706888008750043977755113263 0 0 b"\xd77\xd0\xc7" true => #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> #execute ) ~> #return 128 32 ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -6932,22 +6839,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( .List => ListItem ( - #address ( FoundryTest ) + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -7011,7 +6918,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -7031,7 +6938,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) | SELFDESTRUCT_CELL:Set @@ -7043,7 +6971,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -7054,26 +6982,26 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) ) - ( .Set => ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( .Set => SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) ) - ( #address ( FoundryTest ) => 491460923342184218035706888008750043977755113263 ) + ( KV0_addr:Int => 491460923342184218035706888008750043977755113263 ) - ( 137122462167341575662000267002353578582749290296 => #address ( FoundryTest ) ) + ( 137122462167341575662000267002353578582749290296 => KV0_addr:Int ) - ( b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" => b"\xd77\xd0\xc7" ) + ( b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) => b"\xd77\xd0\xc7" ) 0 - ( ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) => .WordStack ) + ( ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) => .WordStack ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" => b"" ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) => b"" ) 0 @@ -7103,7 +7031,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( ( #address ( FoundryCheat ) => 491460923342184218035706888008750043977755113263 ) ) ( SetItem ( #address ( FoundryTest ) ) => ( SetItem ( #address ( FoundryCheat ) ) SetItem ( #address ( FoundryTest ) ) ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) => SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) ) |Set SetItem ( ( KV0_addr:Int => 491460923342184218035706888008750043977755113263 ) ) .Map @@ -7176,7 +7104,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -7196,7 +7124,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -7215,7 +7164,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + KV0_addr:Int .Account @@ -7296,17 +7245,21 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 @@ -7317,7 +7270,6 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] - ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -7333,27 +7285,27 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) ListItem ( - #address ( FoundryCheat ) + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -7449,7 +7401,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -7460,14 +7412,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - #address ( FoundryCheat ) + #address ( FoundryTest ) b"\xd77\xd0\xc7" @@ -7479,7 +7431,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( .WordStack => ( 3610759367 : .WordStack ) ) - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) 0 @@ -7509,7 +7461,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -7621,7 +7573,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + #address ( FoundryTest ) .Account @@ -7702,7 +7654,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( b"" => #buf ( 32 , KV0_addr:Int ) ) + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) ListItem ( - KV0_addr:Int + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -7823,7 +7775,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -7843,28 +7795,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) | SELFDESTRUCT_CELL:Set @@ -7876,7 +7807,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -7887,14 +7818,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - KV0_addr:Int + #address ( FoundryCheat ) b"\xd77\xd0\xc7" @@ -7906,7 +7837,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( .WordStack => ( 3610759367 : .WordStack ) ) - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) ) + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) 0 @@ -7936,7 +7867,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -8009,7 +7940,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -8029,28 +7960,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -8069,7 +7979,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryCheat ) .Account @@ -8150,30 +8060,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-97-TO-98]: - ( #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> .K => .K ) + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ RETURN ] ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -8189,27 +8097,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + + ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) + ListItem ( - #address ( FoundryTest ) + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -8305,7 +8216,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -8316,14 +8227,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - #address ( FoundryTest ) + #address ( FoundryCheat ) b"\xd77\xd0\xc7" @@ -8332,10 +8243,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - .WordStack + ( 3610759367 : .WordStack ) - b"" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 @@ -8365,7 +8276,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -8477,7 +8388,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + #address ( FoundryCheat ) .Account @@ -8558,7 +8469,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-96-TO-99]: ( #end EVMC_SUCCESS => #halt ) @@ -8579,7 +8490,6 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] - ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -8595,7 +8505,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) @@ -8603,22 +8513,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ListItem ( - KV0_addr:Int + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -8682,7 +8592,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -8702,28 +8612,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) | SELFDESTRUCT_CELL:Set @@ -8735,7 +8624,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -8746,14 +8635,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - KV0_addr:Int + #address ( FoundryTest ) b"\xd77\xd0\xc7" @@ -8765,7 +8654,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 @@ -8795,7 +8684,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -8868,7 +8757,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -8888,28 +8777,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -8928,7 +8796,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryTest ) .Account @@ -9009,28 +8877,24 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-94-TO-100]: - ( #end EVMC_SUCCESS => #halt ) - ~> #pc [ RETURN ] + ( .K => #end EVMC_SUCCESS + ~> #pc [ RETURN ] ) ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] @@ -9050,30 +8914,27 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) - - ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) - ListItem ( - #address ( FoundryCheat ) + 491460923342184218035706888008750043977755113263 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" 0 @@ -9180,14 +9041,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - #address ( FoundryCheat ) + 491460923342184218035706888008750043977755113263 b"\xd77\xd0\xc7" @@ -9196,10 +9057,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( 3610759367 : .WordStack ) + ( .WordStack => ( 3610759367 : .WordStack ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) 0 @@ -9341,7 +9202,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + 491460923342184218035706888008750043977755113263 .Account @@ -9422,7 +9283,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-95-TO-101]: - ( .K => #end EVMC_SUCCESS - ~> #pc [ RETURN ] ) + ( #precompiled? ( 491460923342184218035706888008750043977755113263 , CANCUN ) ~> .K => .K ) ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] @@ -9459,27 +9319,27 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) + b"" ListItem ( - 491460923342184218035706888008750043977755113263 + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -9543,7 +9403,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -9563,7 +9423,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) | SELFDESTRUCT_CELL:Set @@ -9575,7 +9456,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -9586,14 +9467,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int b"\xd77\xd0\xc7" @@ -9602,10 +9483,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( .WordStack => ( 3610759367 : .WordStack ) ) + .WordStack - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) + b"" 0 @@ -9635,7 +9516,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -9708,7 +9589,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -9728,7 +9609,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -9747,7 +9649,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int .Account @@ -9828,27 +9730,32 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( .K => #end EVMC_SUCCESS - ~> #pc [ RETURN ] ) - ~> #execute + #halt + ~> ( #pc [ RETURN ] + ~> #execute => .K ) ~> #return 128 32 ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -9864,27 +9771,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + + EVMC_SUCCESS + ListItem ( - #address ( FoundryTest ) + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -9980,7 +9890,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -9991,14 +9901,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - #address ( FoundryTest ) + #address ( FoundryCheat ) b"\xd77\xd0\xc7" @@ -10007,10 +9917,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( .WordStack => ( 3610759367 : .WordStack ) ) + ( 3610759367 : .WordStack ) - ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 @@ -10040,7 +9950,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -10152,7 +10062,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + #address ( FoundryCheat ) .Account @@ -10233,7 +10143,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-100-TO-103]: - #halt - ~> ( #pc [ RETURN ] - ~> #execute => .K ) + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ RETURN ] + ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank @@ -10270,30 +10180,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" - EVMC_SUCCESS + ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) ListItem ( - KV0_addr:Int + 491460923342184218035706888008750043977755113263 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" 0 @@ -10357,7 +10267,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -10377,28 +10287,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) | SELFDESTRUCT_CELL:Set @@ -10410,7 +10299,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -10421,14 +10310,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - KV0_addr:Int + 491460923342184218035706888008750043977755113263 b"\xd77\xd0\xc7" @@ -10440,7 +10329,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 @@ -10470,7 +10359,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -10543,7 +10432,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -10563,28 +10452,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -10603,7 +10471,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + 491460923342184218035706888008750043977755113263 .Account @@ -10684,24 +10552,20 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-99-TO-104]: #halt @@ -10709,7 +10573,6 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ~> #execute => .K ) ~> #return 128 32 ~> #pc [ STATICCALL ] - ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -10725,7 +10588,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" EVMC_SUCCESS @@ -10733,22 +10596,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ListItem ( - #address ( FoundryCheat ) + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -10844,7 +10707,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -10855,14 +10718,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - #address ( FoundryCheat ) + #address ( FoundryTest ) b"\xd77\xd0\xc7" @@ -10874,7 +10737,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 @@ -10904,7 +10767,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -11016,7 +10879,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + #address ( FoundryTest ) .Account @@ -11097,7 +10960,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #end EVMC_SUCCESS => #halt ) - ~> #pc [ RETURN ] + ( .K => #end EVMC_SUCCESS + ~> #pc [ RETURN ] ) ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] @@ -11134,30 +10997,27 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + ( b"" => #buf ( 32 , KV0_addr:Int ) ) - - ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) - ListItem ( - 491460923342184218035706888008750043977755113263 + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -11221,7 +11081,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -11241,7 +11101,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) | SELFDESTRUCT_CELL:Set @@ -11253,7 +11134,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -11264,14 +11145,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int b"\xd77\xd0\xc7" @@ -11280,10 +11161,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( 3610759367 : .WordStack ) + ( .WordStack => ( 3610759367 : .WordStack ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + ( b"" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) ) 0 @@ -11313,7 +11194,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -11386,7 +11267,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -11406,7 +11287,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -11425,7 +11327,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int .Account @@ -11506,27 +11408,35 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #end EVMC_SUCCESS => #halt ) - ~> #pc [ RETURN ] - ~> #execute - ~> #return 128 32 + ( #halt + ~> #return 128 32 => #popCallStack + ~> #dropWorldState + ~> 1 + ~> #push + ~> #refund 0 + ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -11542,30 +11452,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" - ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) + EVMC_SUCCESS ListItem ( - #address ( FoundryTest ) + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -11661,7 +11571,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -11672,14 +11582,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - #address ( FoundryTest ) + #address ( FoundryCheat ) b"\xd77\xd0\xc7" @@ -11691,7 +11601,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 @@ -11721,7 +11631,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -11833,7 +11743,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + #address ( FoundryCheat ) .Account @@ -11914,7 +11824,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #halt - ~> #return 128 32 => #popCallStack - ~> #dropWorldState - ~> 1 - ~> #push - ~> #refund 0 - ~> #setLocalMem 128 32 #buf ( 32 , KV0_addr:Int ) ) + #halt + ~> ( #pc [ RETURN ] + ~> #execute => .K ) + ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank ~> #execute @@ -11954,7 +11861,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" EVMC_SUCCESS @@ -11962,22 +11869,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ListItem ( - KV0_addr:Int + 491460923342184218035706888008750043977755113263 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" 0 @@ -12041,7 +11948,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -12061,28 +11968,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) | SELFDESTRUCT_CELL:Set @@ -12094,7 +11980,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -12105,14 +11991,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - KV0_addr:Int + 491460923342184218035706888008750043977755113263 b"\xd77\xd0\xc7" @@ -12124,7 +12010,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 @@ -12154,7 +12040,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -12227,7 +12113,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -12247,28 +12133,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -12287,7 +12152,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + 491460923342184218035706888008750043977755113263 .Account @@ -12368,21 +12233,17 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 @@ -12394,9 +12255,8 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ~> 1 ~> #push ~> #refund 0 - ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) + ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) ~> #pc [ STATICCALL ] - ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -12412,7 +12272,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" EVMC_SUCCESS @@ -12420,22 +12280,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ListItem ( - #address ( FoundryCheat ) + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -12531,7 +12391,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -12542,14 +12402,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) 491460923342184218035706888008750043977755113263 - #address ( FoundryCheat ) + #address ( FoundryTest ) b"\xd77\xd0\xc7" @@ -12561,7 +12421,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 @@ -12591,7 +12451,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -12703,7 +12563,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + #address ( FoundryTest ) .Account @@ -12784,7 +12644,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - #halt - ~> ( #pc [ RETURN ] - ~> #execute => .K ) + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ RETURN ] + ~> #execute ~> #return 128 32 ~> #pc [ STATICCALL ] ~> #endPrank @@ -12821,30 +12681,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + #buf ( 32 , KV0_addr:Int ) - EVMC_SUCCESS + ( _STATUSCODE:StatusCode => EVMC_SUCCESS ) ListItem ( - 491460923342184218035706888008750043977755113263 + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -12908,7 +12768,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -12928,7 +12788,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) | SELFDESTRUCT_CELL:Set @@ -12940,7 +12821,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -12951,14 +12832,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int b"\xd77\xd0\xc7" @@ -12970,7 +12851,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) 0 @@ -13000,7 +12881,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -13073,7 +12954,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -13093,7 +12974,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -13112,7 +13014,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int .Account @@ -13193,27 +13095,35 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - #halt - ~> ( #pc [ RETURN ] - ~> #execute => .K ) - ~> #return 128 32 + ( #popCallStack + ~> #dropWorldState + ~> 1 + ~> #push + ~> #refund 0 + ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ~> #pc [ STATICCALL ] + ~> #endPrank => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 + ~> #pc [ CALL ] ) ~> #execute ~> _CONTINUATION:K @@ -13229,30 +13139,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" EVMC_SUCCESS - ListItem ( + ( ListItem ( - #address ( FoundryTest ) + #address ( FoundryCheat ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" 0 @@ -13270,10 +13180,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 #address ( FoundryTest ) ... - ) + ) => .List ) - ListItem ( { + ( ListItem ( { ( #address ( FoundryCheat ) @@ -13348,7 +13258,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -13356,29 +13266,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set - } ) + } ) => .List ) - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - 491460923342184218035706888008750043977755113263 + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) - #address ( FoundryTest ) + ( #address ( FoundryCheat ) => 137122462167341575662000267002353578582749290296 ) - b"\xd77\xd0\xc7" + ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) 0 - ( 3610759367 : .WordStack ) + ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -13387,13 +13297,13 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - true + ( true => false ) - 1 + ( 1 => 0 ) - 491460923342184218035706888008750043977755113263 + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) ... @@ -13408,7 +13318,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -13520,7 +13430,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + #address ( FoundryCheat ) .Account @@ -13601,7 +13511,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #popCallStack + ( #halt + ~> #return 128 32 => #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 - ~> #setLocalMem 128 32 #buf ( 32 , KV0_addr:Int ) + ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) ~> #pc [ STATICCALL ] - ~> #endPrank => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 - ~> #pc [ CALL ] ) + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -13641,30 +13551,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" EVMC_SUCCESS - ( ListItem ( + ListItem ( - KV0_addr:Int + 491460923342184218035706888008750043977755113263 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" 0 @@ -13682,10 +13592,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 #address ( FoundryTest ) ... - ) => .List ) + ) - ( ListItem ( { + ListItem ( { ( #address ( FoundryCheat ) @@ -13728,7 +13638,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -13748,28 +13658,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) | SELFDESTRUCT_CELL:Set @@ -13781,7 +13670,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -13789,29 +13678,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set - } ) => .List ) + } ) - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( 491460923342184218035706888008750043977755113263 ) - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + 491460923342184218035706888008750043977755113263 - ( KV0_addr:Int => 137122462167341575662000267002353578582749290296 ) + 491460923342184218035706888008750043977755113263 - ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) ) + b"\xd77\xd0\xc7" 0 - ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 3610759367 : .WordStack ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_addr:Int ) => #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 @@ -13820,13 +13709,13 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( true => false ) + true - ( 1 => 0 ) + 1 - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + 491460923342184218035706888008750043977755113263 ... @@ -13841,7 +13730,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) => SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) ) |Set SetItem ( ( KV0_addr:Int => 491460923342184218035706888008750043977755113263 ) ) |Set SetItem ( ( 491460923342184218035706888008750043977755113263 => #address ( FoundryCheat ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -13914,7 +13803,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -13934,28 +13823,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -13974,7 +13842,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + 491460923342184218035706888008750043977755113263 .Account @@ -14055,21 +13923,17 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 @@ -14080,9 +13944,8 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ~> 1 ~> #push ~> #refund 0 - ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" - ~> #pc [ STATICCALL ] - ~> #endPrank => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 + ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + ~> #pc [ STATICCALL ] => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> #pc [ CALL ] ) ~> #execute ~> _CONTINUATION:K @@ -14099,7 +13962,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" EVMC_SUCCESS @@ -14107,22 +13970,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( ListItem ( - #address ( FoundryCheat ) + #address ( FoundryTest ) 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" 0 @@ -14218,7 +14081,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -14229,26 +14092,26 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) => .List ) - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) - ( #address ( FoundryCheat ) => 137122462167341575662000267002353578582749290296 ) + ( #address ( FoundryTest ) => 137122462167341575662000267002353578582749290296 ) - ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" ) + ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) 0 - ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -14278,7 +14141,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -14390,7 +14253,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + #address ( FoundryTest ) .Account @@ -14471,7 +14334,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-110-TO-113]: - ( #halt - ~> #return 128 32 => #popCallStack - ~> #dropWorldState - ~> 1 - ~> #push - ~> #refund 0 - ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) - ~> #pc [ STATICCALL ] - ~> #endPrank + ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) + ~> #checkCall #address ( FoundryTest ) 0 + ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false + ~> #return 160 0 ) + ~> #pc [ CALL ] ~> #execute ~> _CONTINUATION:K @@ -14511,156 +14370,38 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" EVMC_SUCCESS - ListItem ( - - 491460923342184218035706888008750043977755113263 - - - 137122462167341575662000267002353578582749290296 - - - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" - - - 0 - - - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" - - - 0 - - - 0 - - - false - - - 0 - - - #address ( FoundryTest ) - - ... - ) + .List - ListItem ( { - ( - - #address ( FoundryCheat ) - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - - ( - - #address ( FoundryTest ) - - - maxUInt96 - - - ( 27 |-> 491460923342184218035706888008750043977755113263 ) - - - .Map - - - .Map - - - 2 - - ... - - - - 491460923342184218035706888008750043977755113263 - - - 0 - - - .Map - - - .Map - - - .Map - - - 1 - - ... - ) ) - | - - SELFDESTRUCT_CELL:Set - - - .List - - - 0 - - - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - - - .Map - - - .Set - - } ) + .List - SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - 491460923342184218035706888008750043977755113263 + #address ( FoundryTest ) - 491460923342184218035706888008750043977755113263 + 137122462167341575662000267002353578582749290296 - b"\xd77\xd0\xc7" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( 3610759367 : .WordStack ) + ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -14669,20 +14410,17 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - true + false - 1 + 0 - 491460923342184218035706888008750043977755113263 + #address ( FoundryTest ) ... - - SELFDESTRUCT_CELL:Set - .List @@ -14698,6 +14436,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set + ... 137122462167341575662000267002353578582749290296 @@ -14802,7 +14541,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - 491460923342184218035706888008750043977755113263 + #address ( FoundryCheat ) .Account @@ -14883,7 +14622,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-109-TO-114]: - ( #halt - ~> #return 128 32 => #popCallStack - ~> #dropWorldState - ~> 1 - ~> #push - ~> #refund 0 - ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) + #halt + ~> ( #pc [ RETURN ] + ~> #execute => .K ) + ~> #return 128 32 ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -14922,7 +14659,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + #buf ( 32 , KV0_addr:Int ) EVMC_SUCCESS @@ -14930,22 +14667,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ListItem ( - #address ( FoundryTest ) + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -15009,7 +14746,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -15029,7 +14766,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) | SELFDESTRUCT_CELL:Set @@ -15041,7 +14799,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -15052,14 +14810,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 } ) - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) 491460923342184218035706888008750043977755113263 - #address ( FoundryTest ) + KV0_addr:Int b"\xd77\xd0\xc7" @@ -15071,7 +14829,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 3610759367 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) 0 @@ -15101,7 +14859,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -15174,7 +14932,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -15194,7 +14952,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -15213,7 +14992,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + KV0_addr:Int .Account @@ -15294,20 +15073,24 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-112-TO-115]: ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) @@ -15330,7 +15113,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #buf ( 32 , KV0_addr:Int ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" EVMC_SUCCESS @@ -15342,7 +15125,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) @@ -15352,16 +15135,16 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) + ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -15388,7 +15171,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) |Set SetItem ( #address ( FoundryCheat ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -15462,7 +15245,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -15482,28 +15265,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -15522,7 +15284,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - KV0_addr:Int + #address ( FoundryTest ) .Account @@ -15603,31 +15365,31 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-111-TO-116]: - ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) - ~> #checkCall #address ( FoundryTest ) 0 - ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false - ~> #return 160 0 ) - ~> #pc [ CALL ] + ( #popCallStack + ~> #dropWorldState + ~> 1 + ~> #push + ~> #refund 0 + ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + ~> #pc [ STATICCALL ] + ~> #endPrank => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 + ~> #pc [ CALL ] ) ~> #execute ~> _CONTINUATION:K @@ -15643,78 +15405,198 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" EVMC_SUCCESS - .List + ( ListItem ( + + 491460923342184218035706888008750043977755113263 + + + 137122462167341575662000267002353578582749290296 + + + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + + + 0 + + + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + + + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" + + + 0 + + + 0 + + + false + + + 0 + + + #address ( FoundryTest ) + + ... + ) => .List ) - .List - - - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - - - - #address ( FoundryTest ) - - - 137122462167341575662000267002353578582749290296 - - - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" - - - 0 - - - ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" - - - 0 - - - 0 - - - false - - - 0 - - - #address ( FoundryTest ) - - ... - - - - .List - - - 0 - - - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - - - .Map - - - .Set - - ... - - - 137122462167341575662000267002353578582749290296 - - + ( ListItem ( { + ( + + #address ( FoundryCheat ) + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + #address ( FoundryTest ) + + + maxUInt96 + + + ( 27 |-> 491460923342184218035706888008750043977755113263 ) + + + .Map + + + .Map + + + 2 + + ... + + + + 491460923342184218035706888008750043977755113263 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) ) + | + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + + + .Map + + + .Set + + } ) => .List ) + + + SetItem ( 491460923342184218035706888008750043977755113263 ) + + + + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + + + ( 491460923342184218035706888008750043977755113263 => 137122462167341575662000267002353578582749290296 ) + + + ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) + + + 0 + + + ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + + + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + + + 0 + + + 0 + + + ( true => false ) + + + ( 1 => 0 ) + + + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + + ... + + + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + + + .Map + + + .Set + + + + 137122462167341575662000267002353578582749290296 + + NUMBER_CELL:Int @@ -15814,7 +15696,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryCheat ) + 491460923342184218035706888008750043977755113263 .Account @@ -15895,7 +15777,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #popCallStack - ~> #dropWorldState - ~> 1 - ~> #push - ~> #refund 0 - ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" - ~> #pc [ STATICCALL ] - ~> #endPrank => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 - ~> #pc [ CALL ] ) + ( #accessAccounts #address ( FoundryCheat ) + ~> #checkCall #address ( FoundryTest ) 0 + ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false + ~> #return 160 0 + ~> #pc [ CALL ] => #end EVMC_SUCCESS + ~> #pc [ STOP ] ) ~> #execute ~> _CONTINUATION:K @@ -15935,156 +15814,38 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" => b"" ) EVMC_SUCCESS - ( ListItem ( - - 491460923342184218035706888008750043977755113263 - - - 137122462167341575662000267002353578582749290296 - - - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" - - - 0 - - - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - - - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" - - - 0 - - - 0 - - - false - - - 0 - - - #address ( FoundryTest ) - - ... - ) => .List ) + .List - ( ListItem ( { - ( - - #address ( FoundryCheat ) - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - - ( - - #address ( FoundryTest ) - - - maxUInt96 - - - ( 27 |-> 491460923342184218035706888008750043977755113263 ) - - - .Map - - - .Map - - - 2 - - ... - - - - 491460923342184218035706888008750043977755113263 - - - 0 - - - .Map - - - .Map - - - .Map - - - 1 - - ... - ) ) - | - - SELFDESTRUCT_CELL:Set - - - .List - - - 0 - - - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - - - .Map - - - .Set - - } ) => .List ) + .List - SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + #address ( FoundryTest ) - ( 491460923342184218035706888008750043977755113263 => 137122462167341575662000267002353578582749290296 ) + 137122462167341575662000267002353578582749290296 - ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 - ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -16093,20 +15854,17 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( true => false ) + false - ( 1 => 0 ) + 0 - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + #address ( FoundryTest ) ... - - SELFDESTRUCT_CELL:Set - .List @@ -16122,6 +15880,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set + ... 137122462167341575662000267002353578582749290296 @@ -16220,19 +15979,19 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - #address ( FoundryTest ) + ( #address ( FoundryTest ) => .Account ) - 137122462167341575662000267002353578582749290296 + ( 137122462167341575662000267002353578582749290296 => .Account ) - 491460923342184218035706888008750043977755113263 + ( #address ( FoundryCheat ) => .Account ) .Account - true + ( true => false ) 0 @@ -16307,7 +16066,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 - ( #popCallStack + ( #halt + ~> #return 128 32 => #popCallStack ~> #dropWorldState ~> 1 ~> #push ~> #refund 0 - ~> #setLocalMem 128 32 b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" - ~> #pc [ STATICCALL ] => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 - ~> #pc [ CALL ] ) + ~> #setLocalMem 128 32 #buf ( 32 , KV0_addr:Int ) ) + ~> #pc [ STATICCALL ] + ~> #endPrank ~> #execute ~> _CONTINUATION:K @@ -16346,30 +16106,30 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + #buf ( 32 , KV0_addr:Int ) EVMC_SUCCESS - ( ListItem ( + ListItem ( - #address ( FoundryTest ) + KV0_addr:Int 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( #address ( FoundryTest ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) 0 @@ -16387,10 +16147,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 #address ( FoundryTest ) ... - ) => .List ) + ) - ( ListItem ( { + ListItem ( { ( #address ( FoundryCheat ) @@ -16433,7 +16193,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -16453,7 +16213,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) | SELFDESTRUCT_CELL:Set @@ -16465,7 +16246,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -16473,29 +16254,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set - } ) => .List ) + } ) - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + 491460923342184218035706888008750043977755113263 - ( #address ( FoundryTest ) => 137122462167341575662000267002353578582749290296 ) + KV0_addr:Int - ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" ) + b"\xd77\xd0\xc7" 0 - ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + ( 3610759367 : .WordStack ) - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) 0 @@ -16504,13 +16285,13 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( true => false ) + true - ( 1 => 0 ) + 1 - ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) + 491460923342184218035706888008750043977755113263 ... @@ -16525,7 +16306,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) .Map @@ -16598,7 +16379,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -16618,7 +16399,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -16637,7 +16439,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + KV0_addr:Int .Account @@ -16718,17 +16520,21 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 @@ -16755,7 +16561,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( #buf ( 32 , KV0_addr:Int ) => b"" ) + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" => b"" ) EVMC_SUCCESS @@ -16767,7 +16573,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) @@ -16777,16 +16583,16 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) + ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -16813,7 +16619,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) |Set SetItem ( #address ( FoundryCheat ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -16887,7 +16693,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -16907,28 +16713,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -16947,7 +16732,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 137122462167341575662000267002353578582749290296 => .Account ) - ( KV0_addr:Int => .Account ) + ( #address ( FoundryTest ) => .Account ) .Account @@ -17028,24 +16813,20 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-117-TO-120]: ( #end EVMC_SUCCESS => #halt ) @@ -17077,7 +16858,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) @@ -17087,7 +16868,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 @@ -17096,7 +16877,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 1757857939 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -17123,7 +16904,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) |Set SetItem ( #address ( FoundryCheat ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -17197,7 +16978,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( + 491460923342184218035706888008750043977755113263 @@ -17217,28 +16998,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - - - - KV0_addr:Int - - - 0 - - - .Map - - - .Map - - - .Map - - - 0 - - ... - ) ) ) + ) ) ... @@ -17338,24 +17098,20 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-116-TO-121]: ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) @@ -17378,7 +17134,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" EVMC_SUCCESS @@ -17390,7 +17146,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( 491460923342184218035706888008750043977755113263 ) @@ -17400,16 +17156,16 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 - ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) + ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -17436,7 +17192,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -17549,7 +17305,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - #address ( FoundryTest ) + 491460923342184218035706888008750043977755113263 .Account @@ -17630,7 +17386,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-118-TO-122]: - ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) - ~> #checkCall #address ( FoundryTest ) 0 - ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false - ~> #return 160 0 ) - ~> #pc [ CALL ] + ( #popCallStack + ~> #dropWorldState + ~> 1 + ~> #push + ~> #refund 0 + ~> #setLocalMem 128 32 #buf ( 32 , KV0_addr:Int ) + ~> #pc [ STATICCALL ] + ~> #endPrank => CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 + ~> #pc [ CALL ] ) ~> #execute ~> _CONTINUATION:K @@ -17666,38 +17426,177 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + #buf ( 32 , KV0_addr:Int ) EVMC_SUCCESS - .List + ( ListItem ( + + KV0_addr:Int + + + 137122462167341575662000267002353578582749290296 + + + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + + + 0 + + + ( 132 : ( 3610759367 : ( 491460923342184218035706888008750043977755113263 : ( KV0_addr:Int : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) + + + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd77\xd0\xc7\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #range ( #buf ( 32 , KV0_addr:Int ) , 28 , 4 ) + + + 0 + + + 0 + + + false + + + 0 + + + #address ( FoundryTest ) + + ... + ) => .List ) - .List + ( ListItem ( { + ( + + #address ( FoundryCheat ) + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + #address ( FoundryTest ) + + + maxUInt96 + + + ( 27 |-> 491460923342184218035706888008750043977755113263 ) + + + .Map + + + .Map + + + 2 + + ... + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) + | + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + + + .Map + + + .Set + + } ) => .List ) - SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) - #address ( FoundryTest ) + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) - 137122462167341575662000267002353578582749290296 + ( KV0_addr:Int => 137122462167341575662000267002353578582749290296 ) - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + ( b"\xd77\xd0\xc7" => b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) ) 0 - ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( 491460923342184218035706888008750043977755113263 : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) + ( ( 3610759367 => 164 ) : ( .WordStack => ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) +Bytes ( #buf ( 32 , KV0_addr:Int ) => #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -17706,17 +17605,20 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - false + ( true => false ) - 0 + ( 1 => 0 ) - #address ( FoundryTest ) + ( 491460923342184218035706888008750043977755113263 => #address ( FoundryTest ) ) ... + + SELFDESTRUCT_CELL:Set + .List @@ -17724,7 +17626,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) => SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) ) |Set SetItem ( ( KV0_addr:Int => 491460923342184218035706888008750043977755113263 ) ) |Set SetItem ( ( 491460923342184218035706888008750043977755113263 => #address ( FoundryCheat ) ) ) .Map @@ -17732,7 +17634,6 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Set - ... 137122462167341575662000267002353578582749290296 @@ -17798,7 +17699,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -17818,7 +17719,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -17837,7 +17759,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - 491460923342184218035706888008750043977755113263 + KV0_addr:Int .Account @@ -17918,28 +17840,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-119-TO-123]: - ( #accessAccounts #address ( FoundryCheat ) - ~> #checkCall #address ( FoundryTest ) 0 - ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false - ~> #return 160 0 - ~> #pc [ CALL ] => #end EVMC_SUCCESS - ~> #pc [ STOP ] ) + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ STOP ] ~> #execute ~> _CONTINUATION:K @@ -17955,7 +17877,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" => b"" ) + b"" EVMC_SUCCESS @@ -17967,7 +17889,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) @@ -17977,16 +17899,16 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 - ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryCheat ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) + ( 1757857939 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -18013,7 +17935,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -18120,19 +18042,19 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( #address ( FoundryTest ) => .Account ) + .Account - ( 137122462167341575662000267002353578582749290296 => .Account ) + .Account - ( #address ( FoundryCheat ) => .Account ) + .Account .Account - ( true => false ) + false 0 @@ -18207,7 +18129,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 @@ -18252,7 +18174,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) @@ -18262,7 +18184,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" 0 @@ -18271,7 +18193,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 1757857939 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -18298,7 +18220,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) |Set SetItem ( #address ( FoundryCheat ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -18372,30 +18294,9 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - ( - - 491460923342184218035706888008750043977755113263 - - - 0 - - - .Map - - - .Map - - - .Map - - - 1 - - ... - - KV0_addr:Int + 491460923342184218035706888008750043977755113263 0 @@ -18410,10 +18311,10 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .Map - 0 + 1 ... - ) ) ) + ) ) ... @@ -18513,32 +18414,27 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( 0 <=Int KV0_addr:Int + requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-122-TO-125]: - ( #accessAccounts #address ( FoundryCheat ) + ( CALL 0 #address ( FoundryCheat ) 0 160 4 160 0 ~> .K => #accessAccounts #address ( FoundryCheat ) ~> #checkCall #address ( FoundryTest ) 0 ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false - ~> #return 160 0 - ~> #pc [ CALL ] => #end EVMC_SUCCESS - ~> #pc [ STOP ] ) + ~> #return 160 0 ) + ~> #pc [ CALL ] ~> #execute ~> _CONTINUATION:K @@ -18554,7 +18450,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" => b"" ) + #buf ( 32 , KV0_addr:Int ) EVMC_SUCCESS @@ -18566,7 +18462,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) @@ -18576,16 +18472,16 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( #address ( FoundryTest ) : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) + ( 164 : ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -18612,7 +18508,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) |Set SetItem ( #address ( FoundryCheat ) ) .Map @@ -18686,7 +18582,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -18706,7 +18602,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -18719,19 +18636,19 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - ( #address ( FoundryTest ) => .Account ) + #address ( FoundryTest ) - ( 137122462167341575662000267002353578582749290296 => .Account ) + 137122462167341575662000267002353578582749290296 - ( #address ( FoundryTest ) => .Account ) + KV0_addr:Int .Account - ( true => false ) + true 0 @@ -18806,20 +18723,24 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-121-TO-126]: ( #accessAccounts #address ( FoundryCheat ) @@ -19106,14 +19027,14 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 andBool ( VV0_addr_114b9705:Int =/=Int #address ( FoundryCheat ) andBool ( VV0_addr_114b9705:Int =/=Int #address ( FoundryTest ) )))))))))) - [priority(20), label(BASIC-BLOCK-122-TO-126)] + [priority(20), label(BASIC-BLOCK-121-TO-126)] rule [BASIC-BLOCK-123-TO-127]: - ( #end EVMC_SUCCESS => #halt ) - ~> #pc [ STOP ] - ~> #execute + #halt + ~> ( #pc [ STOP ] + ~> #execute => .K ) ~> _CONTINUATION:K @@ -19140,7 +19061,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) @@ -19150,7 +19071,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" 0 @@ -19159,7 +19080,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 1757857939 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -19186,7 +19107,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) .Map @@ -19380,7 +19301,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-126-TO-128]: ( #end EVMC_SUCCESS => #halt ) @@ -19425,7 +19346,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( 491460923342184218035706888008750043977755113263 ) @@ -19435,7 +19356,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 @@ -19444,7 +19365,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 1757857939 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -19471,7 +19392,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -19665,7 +19586,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-125-TO-129]: - ( #end EVMC_SUCCESS => #halt ) - ~> #pc [ STOP ] + ( #accessAccounts #address ( FoundryCheat ) + ~> #checkCall #address ( FoundryTest ) 0 + ~> #call #address ( FoundryTest ) #address ( FoundryCheat ) #address ( FoundryCheat ) 0 0 b"\x90\xc5\x01;" false + ~> #return 160 0 + ~> #pc [ CALL ] => #end EVMC_SUCCESS + ~> #pc [ STOP ] ) ~> #execute ~> _CONTINUATION:K @@ -19698,7 +19623,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - b"" + ( #buf ( 32 , KV0_addr:Int ) => b"" ) EVMC_SUCCESS @@ -19710,7 +19635,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) @@ -19720,16 +19645,16 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 - ( 1757857939 : .WordStack ) + ( ( 164 => 1757857939 ) : ( ( selector ( "stopPrank()" ) : ( #address ( FoundryCheat ) : ( KV0_addr:Int : ( 291 : ( 1757857939 : .WordStack ) ) ) ) ) => .WordStack ) ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -19756,7 +19681,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) |Set SetItem ( #address ( FoundryCheat ) ) .Map @@ -19830,7 +19755,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -19850,7 +19775,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -19863,19 +19809,19 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - .Account + ( #address ( FoundryTest ) => .Account ) - .Account + ( 137122462167341575662000267002353578582749290296 => .Account ) - .Account + ( KV0_addr:Int => .Account ) .Account - false + ( true => false ) 0 @@ -19950,25 +19896,29 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-129-TO-130]: - #halt - ~> ( #pc [ STOP ] - ~> #execute => .K ) + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ STOP ] + ~> #execute ~> _CONTINUATION:K @@ -19995,7 +19945,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) @@ -20005,7 +19955,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 @@ -20014,7 +19964,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 1757857939 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -20041,7 +19991,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) |Set SetItem ( #address ( FoundryCheat ) ) .Map @@ -20115,7 +20065,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -20135,7 +20085,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -20235,18 +20206,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryCheat ) + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 @@ -20280,7 +20255,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( 491460923342184218035706888008750043977755113263 ) @@ -20290,7 +20265,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96" + b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" 0 @@ -20299,7 +20274,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 1757857939 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xa98[\xe1\x02\xac>\xac)t\x83\xddb3\xd6+>\x14\x96\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -20326,7 +20301,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) ( SetItem ( #address ( FoundryTest ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) ) + ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) .Map @@ -20520,7 +20495,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int #address ( FoundryTest ) + requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24 + rule [BASIC-BLOCK-130-TO-132]: #halt @@ -20565,7 +20540,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 .List - SetItem ( 491460923342184218035706888008750043977755113263 ) + SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) @@ -20575,7 +20550,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 137122462167341575662000267002353578582749290296 - b"h\xc6\xc8\x93\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/" + b"h\xc6\xc8\x93" +Bytes #buf ( 32 , KV0_addr:Int ) 0 @@ -20584,7 +20559,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ( 1757857939 : .WordStack ) - b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00V\x15\xde\xb7\x98\xbb>M\xfa\x019\xdf\xa1\xb3\xd43\xcc#\xb7/\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" +Bytes #buf ( 32 , KV0_addr:Int ) +Bytes b"\x90\xc5\x01;\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -20611,7 +20586,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 0 - ( SetItem ( #address ( FoundryCheat ) ) SetItem ( 491460923342184218035706888008750043977755113263 ) ) + SetItem ( #address ( FoundryCheat ) ) |Set SetItem ( KV0_addr:Int ) |Set SetItem ( 491460923342184218035706888008750043977755113263 ) |Set SetItem ( #address ( FoundryCheat ) ) .Map @@ -20685,7 +20660,7 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 ... - + ( 491460923342184218035706888008750043977755113263 @@ -20705,7 +20680,28 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 1 ... - ) ) + + + + KV0_addr:Int + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + ) ) ) ... @@ -20805,18 +20801,22 @@ module SUMMARY-TEST%PRANKTEST.TESTSYMBOLICSTARTPRANK(ADDRESS):0 - requires ( _KV0_addr:Int ==Int 491460923342184218035706888008750043977755113263 + requires ( 0 <=Int KV0_addr:Int andBool ( 0 <=Int MIXHASH_CELL:Int andBool ( pow24