From 8114b6152c559bd7ba43bcb2c720ebcbf0a80e5f Mon Sep 17 00:00:00 2001 From: Noah Watson Date: Mon, 5 Aug 2024 18:47:44 -0500 Subject: [PATCH 01/21] Add freshUInt variant that allows specifying generated var name --- src/kontrol/kdist/cheatcodes.md | 10 +++ src/kontrol/prove.py | 73 ++++++++++++++++++- .../test-data/foundry/test/FreshInt.t.sol | 6 ++ 3 files changed, 85 insertions(+), 4 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index a0abc469c..fb52de4fe 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -343,6 +343,7 @@ This rule then takes the address using `#asWord(#range(ARGS, 0, 32))` and makes ``` function freshUInt(uint8) external returns (uint256); +function freshUInt(uint8, string calldata) external returns (uint256); ``` `cheatcode.call.freshUInt` will match when the `freshUInt` cheat code function is called. @@ -356,6 +357,14 @@ This rule returns a symbolic integer of up to the bit width that was sent as an andBool 0 #cheatcode_call SELECTOR ARGS => .K ... + _ => #buf(32, ?WORD) + requires SELECTOR ==Int selector ( "freshUInt(uint8,string)" ) + andBool 0 3812747940 ) rule ( selector ( "symbolicStorage(address)" ) => 769677742 ) rule ( selector ( "freshUInt(uint8)" ) => 625253732 ) + rule ( selector ( "freshUInt(uint8,string)" ) => 1530912521 ) rule ( selector ( "freshBool()" ) => 2935720297 ) rule ( selector ( "freshBytes(uint256)" ) => 1389402351 ) rule ( selector ( "freshAddress()" ) => 2363359817 ) diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index f2a852549..5590fddaf 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -1,5 +1,6 @@ from __future__ import annotations +import ast import logging import time from abc import abstractmethod @@ -9,13 +10,14 @@ from subprocess import CalledProcessError from typing import TYPE_CHECKING, Any, ContextManager, NamedTuple -from kevm_pyk.kevm import KEVM, KEVMSemantics, _process_jumpdests +from kevm_pyk.kevm import KEVM, KEVMSemantics, _process_jumpdests, compute_jumpdests from kevm_pyk.utils import KDefinition__expand_macros, abstract_cell_vars, run_prover from multiprocess.pool import Pool # type: ignore from pyk.cterm import CTerm, CTermSymbolic -from pyk.kast.inner import KApply, KSequence, KSort, KVariable, Subst +from pyk.kast.inner import KApply, KSequence, KSort, KToken, KVariable, Subst from pyk.kast.manip import flatten_label, set_cell from pyk.kcfg import KCFG, KCFGExplore +from pyk.kcfg.kcfg import Step from pyk.kore.rpc import KoreClient, TransportType, kore_server from pyk.prelude.bytes import bytesToken from pyk.prelude.collections import list_empty, map_empty, map_item, map_of, set_empty @@ -42,6 +44,7 @@ from typing import Final, TypeGuard from pyk.kast.inner import KInner + from pyk.kcfg.kcfg import KCFGExtendResult from pyk.kore.rpc import KoreServer from .options import ProveOptions @@ -297,6 +300,68 @@ def port(self) -> int: return self._port +class KontrolSemantics(KEVMSemantics): + + def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: + """Given a CTerm, update the JUMPDESTS_CELL and PROGRAM_CELL if the rule 'EVM.program.load' is at the top of the K_CELL. + + :param cterm: CTerm of a proof node. + :type cterm: CTerm + :return: If the K_CELL matches the load_pattern, a Step with depth 1 is returned together with the new configuration, also registering that the `EVM.program.load` rule has been applied. Otherwise, None is returned. + :rtype: KCFGExtendResult | None + """ + load_pattern = KSequence([KApply('loadProgram', KVariable('###BYTECODE')), KVariable('###CONTINUATION')]) + subst = load_pattern.match(cterm.cell('K_CELL')) + if subst is not None: + bytecode_sections = flatten_label('_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', subst['###BYTECODE']) + jumpdests_set = compute_jumpdests(bytecode_sections) + new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'JUMPDESTS_CELL', jumpdests_set)) + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'PROGRAM_CELL', subst['###BYTECODE'])) + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) + return Step(new_cterm, 1, (), ['EVM.program.load'], cut=True) + + cheatcode_call_pattern = KSequence( + [KApply('cheatcode_call', intToken(1530912521), KVariable('ARGS')), KVariable('###CONTINUATION')] + ) + subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) + if subst is not None: + args = subst['ARGS'] + if type(args) is not KToken: + return None + args_bytes = ast.literal_eval(args.token) + int_size = int.from_bytes(args_bytes[:32], 'big') + varname_offset = int.from_bytes(args_bytes[32:64], 'big') + varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') + varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') + varname = varname.upper() + variable = KVariable(varname) + + new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', KEVM.buf(intToken(32), variable))) + new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(intToken(0), variable))) + new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(variable, intToken(2 ** (8 * int_size))))) + + return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshUIntCustomVar'], cut=True) + + return None + + @staticmethod + def cut_point_rules( + break_on_jumpi: bool, + break_on_calls: bool, + break_on_storage: bool, + break_on_basic_blocks: bool, + break_on_load_program: bool, + ) -> list[str]: + return super(KontrolSemantics, KontrolSemantics).cut_point_rules( + break_on_jumpi=break_on_jumpi, + break_on_calls=break_on_calls, + break_on_storage=break_on_storage, + break_on_basic_blocks=break_on_basic_blocks, + break_on_load_program=break_on_load_program, + ) + ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshUIntCustomVar'] + + def _run_cfg_group( tests: list[FoundryTest], foundry: Foundry, @@ -382,7 +447,7 @@ def create_kcfg_explore() -> KCFGExplore: ) return KCFGExplore( cterm_symbolic, - kcfg_semantics=KEVMSemantics(auto_abstract_gas=options.auto_abstract_gas), + kcfg_semantics=KontrolSemantics(auto_abstract_gas=options.auto_abstract_gas), id=test.id, ) @@ -418,7 +483,7 @@ def create_kcfg_explore() -> KCFGExplore: } ), ) - cut_point_rules = KEVMSemantics.cut_point_rules( + cut_point_rules = KontrolSemantics.cut_point_rules( options.break_on_jumpi, options.break_on_calls, options.break_on_storage, diff --git a/src/tests/integration/test-data/foundry/test/FreshInt.t.sol b/src/tests/integration/test-data/foundry/test/FreshInt.t.sol index 04c0df995..7ab67c068 100644 --- a/src/tests/integration/test-data/foundry/test/FreshInt.t.sol +++ b/src/tests/integration/test-data/foundry/test/FreshInt.t.sol @@ -20,6 +20,12 @@ contract FreshCheatcodes is Test, KontrolCheats { assertLe(val, max); } + function test_int128_custom_name() public { + int128 val = int128(uint128(kevm.freshUInt(16, "abcdef"))); + assertGe(val, min); + assertLe(val, max); + } + function testFail_int128() public { int128 val = int128(uint128(kevm.freshUInt(16))); assertGt(val, max); From 09c5194460ff0aa6af9ec3f8547e70373bce8b50 Mon Sep 17 00:00:00 2001 From: Noah Watson Date: Mon, 5 Aug 2024 18:50:14 -0500 Subject: [PATCH 02/21] Use superclass method in KontrolSemantics --- src/kontrol/prove.py | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index 5590fddaf..d84f16c36 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -10,7 +10,7 @@ from subprocess import CalledProcessError from typing import TYPE_CHECKING, Any, ContextManager, NamedTuple -from kevm_pyk.kevm import KEVM, KEVMSemantics, _process_jumpdests, compute_jumpdests +from kevm_pyk.kevm import KEVM, KEVMSemantics, _process_jumpdests from kevm_pyk.utils import KDefinition__expand_macros, abstract_cell_vars, run_prover from multiprocess.pool import Pool # type: ignore from pyk.cterm import CTerm, CTermSymbolic @@ -303,23 +303,6 @@ def port(self) -> int: class KontrolSemantics(KEVMSemantics): def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: - """Given a CTerm, update the JUMPDESTS_CELL and PROGRAM_CELL if the rule 'EVM.program.load' is at the top of the K_CELL. - - :param cterm: CTerm of a proof node. - :type cterm: CTerm - :return: If the K_CELL matches the load_pattern, a Step with depth 1 is returned together with the new configuration, also registering that the `EVM.program.load` rule has been applied. Otherwise, None is returned. - :rtype: KCFGExtendResult | None - """ - load_pattern = KSequence([KApply('loadProgram', KVariable('###BYTECODE')), KVariable('###CONTINUATION')]) - subst = load_pattern.match(cterm.cell('K_CELL')) - if subst is not None: - bytecode_sections = flatten_label('_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', subst['###BYTECODE']) - jumpdests_set = compute_jumpdests(bytecode_sections) - new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'JUMPDESTS_CELL', jumpdests_set)) - new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'PROGRAM_CELL', subst['###BYTECODE'])) - new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) - return Step(new_cterm, 1, (), ['EVM.program.load'], cut=True) - cheatcode_call_pattern = KSequence( [KApply('cheatcode_call', intToken(1530912521), KVariable('ARGS')), KVariable('###CONTINUATION')] ) @@ -343,7 +326,7 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshUIntCustomVar'], cut=True) - return None + return super().custom_step(cterm) @staticmethod def cut_point_rules( From ccddb49284fb4bdb329089cbb897125eff05c3a7 Mon Sep 17 00:00:00 2001 From: Noah Watson Date: Mon, 5 Aug 2024 19:07:48 -0500 Subject: [PATCH 03/21] Add selectors for other cheatcodes --- src/kontrol/kdist/cheatcodes.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index fb52de4fe..39b3a08ee 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -328,6 +328,7 @@ This rule then takes from the function call data the account using `#asWord(#ran ``` function symbolicStorage(address) external; + function symbolicStorage(address, string calldata) external; ``` `cheatcode.call.symbolicStorage` will match when the `symbolicStorage` cheat code function is called. @@ -337,6 +338,10 @@ This rule then takes the address using `#asWord(#range(ARGS, 0, 32))` and makes rule [cheatcode.call.symbolicStorage]: #cheatcode_call SELECTOR ARGS => #loadAccount #asWord(ARGS) ~> #setSymbolicStorage #asWord(ARGS) ... requires SELECTOR ==Int selector ( "symbolicStorage(address)" ) + + rule [cheatcode.call.symbolicStorageCustomVar]: + #cheatcode_call SELECTOR ARGS => #loadAccount #asWord(ARGS) ~> #setSymbolicStorage #asWord(ARGS) ... + requires SELECTOR ==Int selector ( "symbolicStorage(address,string)" ) ``` #### `freshUInt` - Returns a single symbolic unsigned integer. @@ -1553,11 +1558,15 @@ If the flag is false, it skips comparison, assuming success; otherwise, it compa 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 ( "freshUInt(uint8)" ) => 625253732 ) rule ( selector ( "freshUInt(uint8,string)" ) => 1530912521 ) rule ( selector ( "freshBool()" ) => 2935720297 ) + rule ( selector ( "freshBool(string)" ) => 525694724 ) rule ( selector ( "freshBytes(uint256)" ) => 1389402351 ) + rule ( selector ( "freshBytes(uint256,string)" ) => 390682600 ) rule ( selector ( "freshAddress()" ) => 2363359817 ) + rule ( selector ( "freshAddress(string)" ) => 1202084987 ) rule ( selector ( "prank(address)" ) => 3395723175 ) rule ( selector ( "prank(address,address)" ) => 1206193358 ) rule ( selector ( "allowCallsToAddress(address)" ) => 1850795572 ) From a5fa7640aaa759741082d90f9612e86de03f68a3 Mon Sep 17 00:00:00 2001 From: Noah Watson Date: Tue, 6 Aug 2024 16:08:43 -0500 Subject: [PATCH 04/21] Implement for symbolicStorage --- src/kontrol/kdist/cheatcodes.md | 18 ++++++- src/kontrol/prove.py | 48 ++++++++++++++++++- .../test-data/foundry/test/FreshInt.t.sol | 8 +++- .../foundry/test/SymbolicStorageTest.t.sol | 7 +++ 4 files changed, 77 insertions(+), 4 deletions(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 39b3a08ee..41be46b2a 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -340,10 +340,24 @@ This rule then takes the address using `#asWord(#range(ARGS, 0, 32))` and makes requires SELECTOR ==Int selector ( "symbolicStorage(address)" ) rule [cheatcode.call.symbolicStorageCustomVar]: - #cheatcode_call SELECTOR ARGS => #loadAccount #asWord(ARGS) ~> #setSymbolicStorage #asWord(ARGS) ... + #cheatcode_call SELECTOR ARGS => #loadAccount #asWord(ARGS) ~> #setSymbolicStorageCustomVar #asWord(#range(ARGS, 0, 32)) ARGS ... requires SELECTOR ==Int selector ( "symbolicStorage(address,string)" ) ``` +```k + syntax KItem ::= "#setSymbolicStorageCustomVar" Int Bytes [symbol(foundry_setSymbolicStorageCustomVar)] +``` + +```{.k .symbolic} + rule [cheatcode.set.symbolicStorageCustomVar]: #setSymbolicStorageCustomVar ACCTID ARGS => .K ... + + ACCTID + _ => ?STORAGE + _ => ?STORAGE + ... + +``` + #### `freshUInt` - Returns a single symbolic unsigned integer. ``` @@ -1121,7 +1135,7 @@ Utils ``` ```{.k .symbolic} - rule #setSymbolicStorage ACCTID => .K ... + rule [cheatcode.set.symbolicStorage]: #setSymbolicStorage ACCTID => .K ... ACCTID _ => ?STORAGE diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index d84f16c36..edcb3cee5 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -326,6 +326,49 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshUIntCustomVar'], cut=True) + cheatcode_call_pattern = KSequence( + [ + KApply('foundry_setSymbolicStorageCustomVar', KVariable('ACCTID'), KVariable('ARGS')), + KVariable('###CONTINUATION'), + ] + ) + subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) + if subst is not None: + args = subst['ARGS'] + account_id = subst['ACCTID'] + if type(args) is not KToken: + return None + args_bytes = ast.literal_eval(args.token) + varname_offset = int.from_bytes(args_bytes[32:64], 'big') + varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') + varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') + varname = varname.upper() + variable = KVariable(varname) + accounts_cell = cterm.cell('ACCOUNTS_CELL') + + all_accounts = flatten_label('_AccountCellMap_', accounts_cell) + cell_accounts = [ + CTerm(account, []) for account in all_accounts if (type(account) is KApply and account.is_cell) + ] + [ + CTerm(account.args[1], []) + for account in all_accounts + if (type(account) is KApply and account.label.name == 'AccountCellMapItem') + ] + + cell_accounts_map = {account.cell('ACCTID_CELL'): account for account in cell_accounts} + + contract_account = cell_accounts_map[account_id] + contract_account = CTerm(set_cell(contract_account.config, 'STORAGE_CELL', variable), []) + contract_account = CTerm(set_cell(contract_account.config, 'ORIGSTORAGE_CELL', variable), []) + cell_accounts_map[account_id] = contract_account + + new_accounts_cell = KEVM.accounts([account.config for account in cell_accounts_map.values()]) + + new_cterm = CTerm(set_cell(cterm.config, 'ACCOUNTS_CELL', new_accounts_cell), cterm.constraints) + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) + + return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.set.symbolicStorageCustomVar'], cut=True) + return super().custom_step(cterm) @staticmethod @@ -342,7 +385,10 @@ def cut_point_rules( break_on_storage=break_on_storage, break_on_basic_blocks=break_on_basic_blocks, break_on_load_program=break_on_load_program, - ) + ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshUIntCustomVar'] + ) + [ + 'FOUNDRY-CHEAT-CODES.cheatcode.call.freshUIntCustomVar', + 'FOUNDRY-CHEAT-CODES.cheatcode.set.symbolicStorageCustomVar', + ] def _run_cfg_group( diff --git a/src/tests/integration/test-data/foundry/test/FreshInt.t.sol b/src/tests/integration/test-data/foundry/test/FreshInt.t.sol index 7ab67c068..834d9f01c 100644 --- a/src/tests/integration/test-data/foundry/test/FreshInt.t.sol +++ b/src/tests/integration/test-data/foundry/test/FreshInt.t.sol @@ -20,12 +20,18 @@ contract FreshCheatcodes is Test, KontrolCheats { assertLe(val, max); } - function test_int128_custom_name() public { + function test_int128_custom_name1() public { int128 val = int128(uint128(kevm.freshUInt(16, "abcdef"))); assertGe(val, min); assertLe(val, max); } + function test_int128_custom_name2() public { + int128 val = int128(uint128(freshUInt128("abcdef"))); + assertGe(val, min); + assertLe(val, max); + } + function testFail_int128() public { int128 val = int128(uint128(kevm.freshUInt(16))); assertGt(val, max); diff --git a/src/tests/integration/test-data/foundry/test/SymbolicStorageTest.t.sol b/src/tests/integration/test-data/foundry/test/SymbolicStorageTest.t.sol index 9aa7266ef..3995ea312 100644 --- a/src/tests/integration/test-data/foundry/test/SymbolicStorageTest.t.sol +++ b/src/tests/integration/test-data/foundry/test/SymbolicStorageTest.t.sol @@ -25,6 +25,13 @@ contract SymbolicStorageTest is Test, KontrolCheats { require(value != 0); assertEq(uint256(value), 0); } + function testFail_SymbolicStorage1_custom_name(uint256 slot) public { + SymbolicStore myStore = new SymbolicStore(); + kevm.symbolicStorage(address(myStore), "STORAGE_abcd"); + bytes32 value = vm.load(address(myStore), bytes32(uint256(slot))); + require(value != 0); + assertEq(uint256(value), 0); + } function testEmptyInitialStorage(uint256 slot) public { bytes32 storage_value = vm.load(address(vm), bytes32(slot)); From 3aa332dd853f14e79cef2d2d87fd34863b98a65d Mon Sep 17 00:00:00 2001 From: Noah Watson Date: Tue, 6 Aug 2024 17:13:42 -0500 Subject: [PATCH 05/21] Use newer kontrol-cheatcodes version, add rules for the new cheatcodes --- src/kontrol/kdist/cheatcodes.md | 27 +++++++++++++++++++++++++++ src/tests/integration/conftest.py | 2 +- 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/src/kontrol/kdist/cheatcodes.md b/src/kontrol/kdist/cheatcodes.md index 41be46b2a..d5ab519d2 100644 --- a/src/kontrol/kdist/cheatcodes.md +++ b/src/kontrol/kdist/cheatcodes.md @@ -390,6 +390,7 @@ This rule returns a symbolic integer of up to the bit width that was sent as an ``` function freshBool() external returns (bool); +function freshBool(string calldata) external returns (uint256); ``` `cheatcode.call.freshBool` will match when the `freshBool` cheat code function is called. @@ -402,12 +403,20 @@ This rule returns a symbolic boolean value being either 0 (false) or 1 (true). requires SELECTOR ==Int selector ( "freshBool()" ) ensures #rangeBool(?WORD) [preserves-definedness] + + rule [cheatcode.call.freshBoolCustomVar]: + #cheatcode_call SELECTOR _ => .K ... + _ => #buf(32, ?WORD) + requires SELECTOR ==Int selector ( "freshBool(string)" ) + ensures #rangeBool(?WORD) + [preserves-definedness] ``` #### `freshBytes` - Returns a fully symbolic byte array value of the given length. ``` function freshBytes(uint256) external returns (bytes memory); +function freshBytes(uint256, string calldata) external returns (bytes memory); ``` `cheatcode.call.freshBytes` will match when the `freshBytes` cheat code function is called. @@ -423,12 +432,23 @@ This rule returns a fully symbolic byte array value of the given length. requires SELECTOR ==Int selector ( "freshBytes(uint256)" ) ensures lengthBytes(?BYTES) ==Int #asWord(ARGS) [preserves-definedness] + + rule [cheatcode.call.freshBytesCustomVar]: + #cheatcode_call SELECTOR ARGS => .K ... + _ => + #buf(32, 32) +Bytes #buf(32, #asWord(#range(ARGS, 0, 32))) +Bytes ?BYTES + +Bytes #buf ( ( ( notMaxUInt5 &Int ( #asWord(#range(ARGS, 0, 32)) +Int maxUInt5 ) ) -Int #asWord(#range(ARGS, 0, 32)) ) , 0 ) + + requires SELECTOR ==Int selector ( "freshBytes(uint256,string)" ) + ensures lengthBytes(?BYTES) ==Int #asWord(#range(ARGS, 0, 32)) + [preserves-definedness] ``` #### `freshAddress` - Returns a single symbolic address. ``` function freshAddress() external returns (address); +function freshAddress(string calldata) external returns (address); ``` `foundry.call.freshAddress` will match when the `freshAddress` cheat code function is called. @@ -441,6 +461,13 @@ This rule returns a symbolic address value. requires SELECTOR ==Int selector ( "freshAddress()" ) ensures #rangeAddress(?WORD) andBool ?WORD =/=Int #address(FoundryTest) andBool ?WORD =/=Int #address(FoundryCheat) [preserves-definedness] + + rule [foundry.call.freshAddressCustomVar]: + #cheatcode_call SELECTOR _ => .K ... + _ => #buf(32, ?WORD) + requires SELECTOR ==Int selector ( "freshAddress(string)" ) + ensures #rangeAddress(?WORD) andBool ?WORD =/=Int #address(FoundryTest) andBool ?WORD =/=Int #address(FoundryCheat) + [preserves-definedness] ``` Expecting the next call to revert diff --git a/src/tests/integration/conftest.py b/src/tests/integration/conftest.py index b814fb212..faa051011 100644 --- a/src/tests/integration/conftest.py +++ b/src/tests/integration/conftest.py @@ -25,7 +25,7 @@ FORGE_STD_REF: Final = '75f1746' -KONTROL_CHEATCODES_REF: Final = '7baaf34' +KONTROL_CHEATCODES_REF: Final = '0ff265b' @pytest.fixture From 61ff1834eaafc8486cd5e2320ede44c27b8a8c34 Mon Sep 17 00:00:00 2001 From: Noah Watson Date: Tue, 6 Aug 2024 20:09:44 -0500 Subject: [PATCH 06/21] Add rest of cheatcodes (symbolicBytes not working yet) --- src/kontrol/prove.py | 123 ++++++++++++++++++ .../test-data/foundry/test/FreshBytes.t.sol | 11 ++ .../test-data/foundry/test/FreshInt.t.sol | 12 ++ 3 files changed, 146 insertions(+) diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index edcb3cee5..39f999972 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -303,6 +303,8 @@ def port(self) -> int: class KontrolSemantics(KEVMSemantics): def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: + + # freshUInt cheatcode_call_pattern = KSequence( [KApply('cheatcode_call', intToken(1530912521), KVariable('ARGS')), KVariable('###CONTINUATION')] ) @@ -326,6 +328,124 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshUIntCustomVar'], cut=True) + # freshAddress + cheatcode_call_pattern = KSequence( + [KApply('cheatcode_call', intToken(1202084987), KVariable('ARGS')), KVariable('###CONTINUATION')] + ) + subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) + if subst is not None: + args = subst['ARGS'] + if type(args) is not KToken: + return None + args_bytes = ast.literal_eval(args.token) + varname_offset = int.from_bytes(args_bytes[0:32], 'big') + varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') + varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') + varname = varname.upper() + variable = KVariable(varname) + + new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', KEVM.buf(intToken(32), variable))) + new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(intToken(0), variable))) + new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(variable, intToken(1461501637330902918203684832716283019655932542975)))) + new_cterm = new_cterm.add_constraint( + mlEqualsTrue(KApply('_=/=Int_', [variable, intToken(728815563385977040452943777879061427756277306518)])) + ) + new_cterm = new_cterm.add_constraint( + mlEqualsTrue(KApply('_=/=Int_', [variable, intToken(645326474426547203313410069153905908525362434349)])) + ) + + return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.foundry.call.freshAddressCustomVar'], cut=True) + + # freshBytes + cheatcode_call_pattern = KSequence( + [KApply('cheatcode_call', intToken(390682600), KVariable('ARGS')), KVariable('###CONTINUATION')] + ) + subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) + if subst is not None: + print('abc') + args = subst['ARGS'] + if type(args) is not KToken: + print(args) + return None + args_bytes = ast.literal_eval(args.token) + bytes_length = int.from_bytes(args_bytes[:32], 'big') + varname_offset = int.from_bytes(args_bytes[32:64], 'big') + varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') + varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') + varname = varname.upper() + variable = KVariable(varname) + + new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) + + output_cell = KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [ + KEVM.buf(intToken(32), intToken(32)), + KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [ + KEVM.buf(intToken(32), KApply('asWord', args)), + KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [ + variable, + KEVM.buf( + KApply( + '_-Int_', + [ + KApply( + '_&Int_', + [ + intToken( + 115792089237316195423570985008687907853269984665640564039457584007913129639904 + ), + KApply('_+Int_', [KApply('asWord', args), intToken(31)]), + ], + ), + KApply('asWord', args), + ], + ), + intToken(0), + ), + ], + ), + ], + ), + ], + ) + + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', output_cell)) + new_cterm = new_cterm.add_constraint( + mlEqualsTrue(eqInt(KApply('lengthBytes(_)_BYTES-HOOKED_Int_Bytes', variable), intToken(bytes_length))) + ) + print('def') + + return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBytesCustomVar'], cut=True) + + # freshBool + cheatcode_call_pattern = KSequence( + [KApply('cheatcode_call', intToken(525694724), KVariable('ARGS')), KVariable('###CONTINUATION')] + ) + subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) + if subst is not None: + args = subst['ARGS'] + if type(args) is not KToken: + return None + args_bytes = ast.literal_eval(args.token) + varname_offset = int.from_bytes(args_bytes[0:32], 'big') + varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') + varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') + varname = varname.upper() + variable = KVariable(varname) + + new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', KEVM.buf(intToken(32), variable))) + new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(intToken(0), variable))) + new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(variable, intToken(1)))) + + return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBoolCustomVar'], cut=True) + cheatcode_call_pattern = KSequence( [ KApply('foundry_setSymbolicStorageCustomVar', KVariable('ACCTID'), KVariable('ARGS')), @@ -388,6 +508,9 @@ def cut_point_rules( ) + [ 'FOUNDRY-CHEAT-CODES.cheatcode.call.freshUIntCustomVar', 'FOUNDRY-CHEAT-CODES.cheatcode.set.symbolicStorageCustomVar', + 'FOUNDRY-CHEAT-CODES.foundry.call.freshAddressCustomVar', + 'FOUNDRY-CHEAT-CODES.cheatcode.call.freshBoolCustomVar', + 'FOUNDRY-CHEAT-CODES.cheatcode.call.freshBytesCustomVar', ] diff --git a/src/tests/integration/test-data/foundry/test/FreshBytes.t.sol b/src/tests/integration/test-data/foundry/test/FreshBytes.t.sol index 5dee6df81..6f38d9b27 100644 --- a/src/tests/integration/test-data/foundry/test/FreshBytes.t.sol +++ b/src/tests/integration/test-data/foundry/test/FreshBytes.t.sol @@ -27,6 +27,17 @@ contract FreshBytesTest is Test, KontrolCheats { assertEq(fresh_bytes[index], local_byte); } + function test_symbolic_bytes_1_custom_name() public { + bytes memory fresh_bytes = kevm.freshBytes(10, "cdefg"); + kevm.freshUInt(1); +// uint256 index = uint256(kevm.freshUInt(1)); +// vm.assume(index < 10); + +// fresh_bytes[index]; +// local_byte = fresh_bytes[index]; +// assertEq(fresh_bytes[index], local_byte); + } + function test_symbolic_bytes_2() public { uint256 length = uint256(kevm.freshUInt(1)); vm.assume (0 < length); diff --git a/src/tests/integration/test-data/foundry/test/FreshInt.t.sol b/src/tests/integration/test-data/foundry/test/FreshInt.t.sol index 834d9f01c..1612fb2bb 100644 --- a/src/tests/integration/test-data/foundry/test/FreshInt.t.sol +++ b/src/tests/integration/test-data/foundry/test/FreshInt.t.sol @@ -14,6 +14,12 @@ contract FreshCheatcodes is Test, KontrolCheats { assertLe(fresh_uint256, 1); } + function test_bool_custom_name() public { + uint256 fresh_uint256 = kevm.freshBool("bcdef"); + assertGe(fresh_uint256, 0); + assertLe(fresh_uint256, 1); + } + function test_int128() public { int128 val = int128(uint128(kevm.freshUInt(16))); assertGe(val, min); @@ -43,6 +49,12 @@ contract FreshCheatcodes is Test, KontrolCheats { assertNotEq(fresh_address, address(vm)); } + function test_address_custom_name() public { + address fresh_address = kevm.freshAddress("abcdefg"); + assertNotEq(fresh_address, address(this)); + assertNotEq(fresh_address, address(vm)); + } + function test_freshUints(uint8 x) public { vm.assume(0 < x); vm.assume(x <= 32); From 7c0d5806f398e33b38c00fa82dcf9742751ee1e4 Mon Sep 17 00:00:00 2001 From: Noah Watson Date: Thu, 8 Aug 2024 17:38:14 -0500 Subject: [PATCH 07/21] Allow custom var name cheatcode symbolic length in freshBytes and symbolic address in symbolicStorage --- src/kontrol/prove.py | 78 +++++++++++++++---- .../test-data/foundry/test/FreshBytes.t.sol | 15 ++-- .../foundry/test/SymbolicStorageTest.t.sol | 3 +- 3 files changed, 71 insertions(+), 25 deletions(-) diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index 39f999972..6b3021067 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -312,6 +312,9 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: if subst is not None: args = subst['ARGS'] if type(args) is not KToken: + _LOGGER.warning( + 'Custom K variable name specified for freshUInt cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' + ) return None args_bytes = ast.literal_eval(args.token) int_size = int.from_bytes(args_bytes[:32], 'big') @@ -336,6 +339,9 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: if subst is not None: args = subst['ARGS'] if type(args) is not KToken: + _LOGGER.warning( + 'Custom K variable name specified for freshAddress cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' + ) return None args_bytes = ast.literal_eval(args.token) varname_offset = int.from_bytes(args_bytes[0:32], 'big') @@ -347,7 +353,9 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', KEVM.buf(intToken(32), variable))) new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(intToken(0), variable))) - new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(variable, intToken(1461501637330902918203684832716283019655932542975)))) + new_cterm = new_cterm.add_constraint( + mlEqualsTrue(ltInt(variable, intToken(1461501637330902918203684832716283019655932542975))) + ) new_cterm = new_cterm.add_constraint( mlEqualsTrue(KApply('_=/=Int_', [variable, intToken(728815563385977040452943777879061427756277306518)])) ) @@ -363,14 +371,29 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: ) subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) if subst is not None: - print('abc') args = subst['ARGS'] - if type(args) is not KToken: - print(args) - return None - args_bytes = ast.literal_eval(args.token) - bytes_length = int.from_bytes(args_bytes[:32], 'big') - varname_offset = int.from_bytes(args_bytes[32:64], 'big') + + if type(args) is KToken: + args_bytes = ast.literal_eval(args.token) + varname_offset = int.from_bytes(args_bytes[32:64], 'big') + bytes_length = KApply('#range', [args, intToken(0), intToken(32)]) + else: + partial_symbolic_args_pattern = KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [KApply('buf', [intToken(32), KVariable('LENGTH')]), KVariable('CONCRETE_VARNAME')], + ) + args_subst = partial_symbolic_args_pattern.match(args) + if args_subst is not None and type(args_subst['CONCRETE_VARNAME']) is KToken: + args = args_subst['CONCRETE_VARNAME'] + args_bytes = ast.literal_eval(args.token) + varname_offset = int.from_bytes(args_bytes[0:32], 'big') - 32 + bytes_length = KApply('buf', [intToken(32), args_subst['LENGTH']]) + else: + _LOGGER.warning( + 'Custom K variable name specified for freshBytes cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' + ) + return None + varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') varname = varname.upper() @@ -385,7 +408,7 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: KApply( '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', [ - KEVM.buf(intToken(32), KApply('asWord', args)), + KEVM.buf(intToken(32), KApply('asWord', bytes_length)), KApply( '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', [ @@ -400,10 +423,12 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: intToken( 115792089237316195423570985008687907853269984665640564039457584007913129639904 ), - KApply('_+Int_', [KApply('asWord', args), intToken(31)]), + KApply( + '_+Int_', [KApply('asWord', bytes_length), intToken(31)] + ), ], ), - KApply('asWord', args), + KApply('asWord', bytes_length), ], ), intToken(0), @@ -417,9 +442,10 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', output_cell)) new_cterm = new_cterm.add_constraint( - mlEqualsTrue(eqInt(KApply('lengthBytes(_)_BYTES-HOOKED_Int_Bytes', variable), intToken(bytes_length))) + mlEqualsTrue( + eqInt(KApply('lengthBytes(_)_BYTES-HOOKED_Int_Bytes', variable), KApply('asWord', bytes_length)) + ) ) - print('def') return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBytesCustomVar'], cut=True) @@ -431,6 +457,9 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: if subst is not None: args = subst['ARGS'] if type(args) is not KToken: + _LOGGER.warning( + 'Custom K variable name specified for freshBool cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' + ) return None args_bytes = ast.literal_eval(args.token) varname_offset = int.from_bytes(args_bytes[0:32], 'big') @@ -446,6 +475,7 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBoolCustomVar'], cut=True) + # symbolicStorage cheatcode_call_pattern = KSequence( [ KApply('foundry_setSymbolicStorageCustomVar', KVariable('ACCTID'), KVariable('ARGS')), @@ -456,10 +486,24 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: if subst is not None: args = subst['ARGS'] account_id = subst['ACCTID'] - if type(args) is not KToken: - return None - args_bytes = ast.literal_eval(args.token) - varname_offset = int.from_bytes(args_bytes[32:64], 'big') + if type(args) is KToken: + args_bytes = ast.literal_eval(args.token) + varname_offset = int.from_bytes(args_bytes[32:64], 'big') + else: + partial_symbolic_args_pattern = KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [KApply('buf', [intToken(32), KVariable('ACCTID')]), KVariable('CONCRETE_VARNAME')], + ) + args_subst = partial_symbolic_args_pattern.match(args) + if args_subst is not None and type(args_subst['CONCRETE_VARNAME']) is KToken: + args = args_subst['CONCRETE_VARNAME'] + args_bytes = ast.literal_eval(args.token) + varname_offset = int.from_bytes(args_bytes[0:32], 'big') - 32 + else: + _LOGGER.warning( + 'Custom K variable name specified for symbolicStorage cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' + ) + return None varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') varname = varname.upper() diff --git a/src/tests/integration/test-data/foundry/test/FreshBytes.t.sol b/src/tests/integration/test-data/foundry/test/FreshBytes.t.sol index 6f38d9b27..67a5d61be 100644 --- a/src/tests/integration/test-data/foundry/test/FreshBytes.t.sol +++ b/src/tests/integration/test-data/foundry/test/FreshBytes.t.sol @@ -28,14 +28,15 @@ contract FreshBytesTest is Test, KontrolCheats { } function test_symbolic_bytes_1_custom_name() public { - bytes memory fresh_bytes = kevm.freshBytes(10, "cdefg"); - kevm.freshUInt(1); -// uint256 index = uint256(kevm.freshUInt(1)); -// vm.assume(index < 10); + uint256 length = uint256(kevm.freshUInt(1)); + vm.assume (0 < length); + vm.assume (length <= length_limit); + bytes memory fresh_bytes = kevm.freshBytes(length, "cdefg"); + uint256 index = uint256(kevm.freshUInt(1)); + vm.assume(index < length); -// fresh_bytes[index]; -// local_byte = fresh_bytes[index]; -// assertEq(fresh_bytes[index], local_byte); + local_byte = fresh_bytes[index]; + assertEq(fresh_bytes[index], local_byte); } function test_symbolic_bytes_2() public { diff --git a/src/tests/integration/test-data/foundry/test/SymbolicStorageTest.t.sol b/src/tests/integration/test-data/foundry/test/SymbolicStorageTest.t.sol index 3995ea312..a7386963f 100644 --- a/src/tests/integration/test-data/foundry/test/SymbolicStorageTest.t.sol +++ b/src/tests/integration/test-data/foundry/test/SymbolicStorageTest.t.sol @@ -25,9 +25,10 @@ contract SymbolicStorageTest is Test, KontrolCheats { require(value != 0); assertEq(uint256(value), 0); } + function testFail_SymbolicStorage1_custom_name(uint256 slot) public { SymbolicStore myStore = new SymbolicStore(); - kevm.symbolicStorage(address(myStore), "STORAGE_abcd"); + kevm.symbolicStorage(address(myStore), "storage_abcd"); bytes32 value = vm.load(address(myStore), bytes32(uint256(slot))); require(value != 0); assertEq(uint256(value), 0); From 3b49799784331caf50ce132ee9f1bb15e1cc5354 Mon Sep 17 00:00:00 2001 From: Noah Watson Date: Fri, 9 Aug 2024 19:59:28 -0500 Subject: [PATCH 08/21] Enable some new tests --- src/kontrol/prove.py | 169 +- src/kontrol/solc_to_k.py | 4 +- src/tests/integration/conftest.py | 5 +- .../integration/test-data/foundry-prove-all | 6 + src/tests/integration/test-data/foundry-show | 6 + ...tcodes.test_address_custom_name().expected | 1754 ++++++ ...heatcodes.test_bool_custom_name().expected | 1246 ++++ ...tcodes.test_int128_custom_name1().expected | 1738 +++++ ...tcodes.test_int128_custom_name2().expected | 1738 +++++ ...olicStorage1_custom_name(uint256).expected | 5571 +++++++++++++++++ .../test-data/show/contracts.k.expected | 92 + 11 files changed, 12242 insertions(+), 87 deletions(-) create mode 100644 src/tests/integration/test-data/show/FreshCheatcodes.test_address_custom_name().expected create mode 100644 src/tests/integration/test-data/show/FreshCheatcodes.test_bool_custom_name().expected create mode 100644 src/tests/integration/test-data/show/FreshCheatcodes.test_int128_custom_name1().expected create mode 100644 src/tests/integration/test-data/show/FreshCheatcodes.test_int128_custom_name2().expected create mode 100644 src/tests/integration/test-data/show/SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256).expected diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index fdfcfac68..1c61cd51d 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -1,5 +1,6 @@ from __future__ import annotations +import sys import ast import logging import time @@ -365,89 +366,89 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.foundry.call.freshAddressCustomVar'], cut=True) - # freshBytes - cheatcode_call_pattern = KSequence( - [KApply('cheatcode_call', intToken(390682600), KVariable('ARGS')), KVariable('###CONTINUATION')] - ) - subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) - if subst is not None: - args = subst['ARGS'] - - if type(args) is KToken: - args_bytes = ast.literal_eval(args.token) - varname_offset = int.from_bytes(args_bytes[32:64], 'big') - bytes_length = KApply('#range', [args, intToken(0), intToken(32)]) - else: - partial_symbolic_args_pattern = KApply( - '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', - [KApply('buf', [intToken(32), KVariable('LENGTH')]), KVariable('CONCRETE_VARNAME')], - ) - args_subst = partial_symbolic_args_pattern.match(args) - if args_subst is not None and type(args_subst['CONCRETE_VARNAME']) is KToken: - args = args_subst['CONCRETE_VARNAME'] - args_bytes = ast.literal_eval(args.token) - varname_offset = int.from_bytes(args_bytes[0:32], 'big') - 32 - bytes_length = KApply('buf', [intToken(32), args_subst['LENGTH']]) - else: - _LOGGER.warning( - 'Custom K variable name specified for freshBytes cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' - ) - return None - - varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') - varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') - varname = varname.upper() - variable = KVariable(varname) - - new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) - - output_cell = KApply( - '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', - [ - KEVM.buf(intToken(32), intToken(32)), - KApply( - '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', - [ - KEVM.buf(intToken(32), KApply('asWord', bytes_length)), - KApply( - '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', - [ - variable, - KEVM.buf( - KApply( - '_-Int_', - [ - KApply( - '_&Int_', - [ - intToken( - 115792089237316195423570985008687907853269984665640564039457584007913129639904 - ), - KApply( - '_+Int_', [KApply('asWord', bytes_length), intToken(31)] - ), - ], - ), - KApply('asWord', bytes_length), - ], - ), - intToken(0), - ), - ], - ), - ], - ), - ], - ) - - new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', output_cell)) - new_cterm = new_cterm.add_constraint( - mlEqualsTrue( - eqInt(KApply('lengthBytes(_)_BYTES-HOOKED_Int_Bytes', variable), KApply('asWord', bytes_length)) - ) - ) - - return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBytesCustomVar'], cut=True) +# # freshBytes +# cheatcode_call_pattern = KSequence( +# [KApply('cheatcode_call', intToken(390682600), KVariable('ARGS')), KVariable('###CONTINUATION')] +# ) +# subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) +# if subst is not None: +# args = subst['ARGS'] +# +# if type(args) is KToken: +# args_bytes = ast.literal_eval(args.token) +# varname_offset = int.from_bytes(args_bytes[32:64], 'big') +# bytes_length = KApply('#range', [args, intToken(0), intToken(32)]) +# else: +# partial_symbolic_args_pattern = KApply( +# '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', +# [KApply('buf', [intToken(32), KVariable('LENGTH')]), KVariable('CONCRETE_VARNAME')], +# ) +# args_subst = partial_symbolic_args_pattern.match(args) +# if args_subst is not None and type(args_subst['CONCRETE_VARNAME']) is KToken: +# args = args_subst['CONCRETE_VARNAME'] +# args_bytes = ast.literal_eval(args.token) +# varname_offset = int.from_bytes(args_bytes[0:32], 'big') - 32 +# bytes_length = KApply('buf', [intToken(32), args_subst['LENGTH']]) +# else: +# _LOGGER.warning( +# 'Custom K variable name specified for freshBytes cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' +# ) +# return None +# +# varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') +# varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') +# varname = varname.upper() +# variable = KVariable(varname) +# +# new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) +# +# output_cell = KApply( +# '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', +# [ +# KEVM.buf(intToken(32), intToken(32)), +# KApply( +# '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', +# [ +# KEVM.buf(intToken(32), KApply('asWord', bytes_length)), +# KApply( +# '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', +# [ +# variable, +# KEVM.buf( +# KApply( +# '_-Int_', +# [ +# KApply( +# '_&Int_', +# [ +# intToken( +# 115792089237316195423570985008687907853269984665640564039457584007913129639904 +# ), +# KApply( +# '_+Int_', [KApply('asWord', bytes_length), intToken(31)] +# ), +# ], +# ), +# KApply('asWord', bytes_length), +# ], +# ), +# intToken(0), +# ), +# ], +# ), +# ], +# ), +# ], +# ) +# +# new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', output_cell)) +# new_cterm = new_cterm.add_constraint( +# mlEqualsTrue( +# eqInt(KApply('lengthBytes(_)_BYTES-HOOKED_Int_Bytes', variable), KApply('asWord', bytes_length)) +# ) +# ) +# +# return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBytesCustomVar'], cut=True) # freshBool cheatcode_call_pattern = KSequence( @@ -639,7 +640,6 @@ def create_kcfg_explore() -> KCFGExplore: cterm_symbolic = CTermSymbolic( client, foundry.kevm.definition, - trace_rewrites=options.trace_rewrites, ) return KCFGExplore( cterm_symbolic, @@ -856,6 +856,7 @@ def method_to_apr_proof( bmc_depth=bmc_depth, proof_dir=foundry.proofs_dir, subproof_ids=summary_ids, + base_module_name=Contract.contract_to_verification_module_name(test.contract.name_with_path) ) return apr_proof diff --git a/src/kontrol/solc_to_k.py b/src/kontrol/solc_to_k.py index f2296fab1..f6e1e7ec7 100644 --- a/src/kontrol/solc_to_k.py +++ b/src/kontrol/solc_to_k.py @@ -58,7 +58,7 @@ def solc_to_k(options: SolcToKOptions) -> str: ) modules = (contract_module, _main_module) bin_runtime_definition = KDefinition( - _main_module.name, modules, requires=tuple(KRequire(req) for req in ['edsl.md'] + requires) + "S2KtestZModFreshBytesTest-VERIFICATION", modules, requires=tuple(KRequire(req) for req in ['edsl.md'] + requires) ) _kprint = KEVM(definition_dir, extra_unparsing_modules=modules) @@ -1102,6 +1102,8 @@ def solc_compile(contract_file: Path) -> dict[str, Any]: } try: + process_res = run_process_2(['solc-select', 'install', '0.8.13'], logger=_LOGGER, input=json.dumps(args)) + process_res = run_process_2(['solc-select', 'use', '0.8.13'], logger=_LOGGER, input=json.dumps(args)) process_res = run_process_2(['solc', '--standard-json'], logger=_LOGGER, input=json.dumps(args)) except CalledProcessError as err: raise RuntimeError('solc error', err.stdout, err.stderr) from err diff --git a/src/tests/integration/conftest.py b/src/tests/integration/conftest.py index faa051011..a0f37b6ca 100644 --- a/src/tests/integration/conftest.py +++ b/src/tests/integration/conftest.py @@ -25,7 +25,7 @@ FORGE_STD_REF: Final = '75f1746' -KONTROL_CHEATCODES_REF: Final = '0ff265b' +KONTROL_CHEATCODES_REF: Final = 'b5ba431' @pytest.fixture @@ -71,7 +71,8 @@ def foundry(foundry_root_dir: Path | None, tmp_path_factory: TempPathFactory, wo ['forge', 'install', '--no-git', f'runtimeverification/kontrol-cheatcodes@{KONTROL_CHEATCODES_REF}'], cwd=foundry_root, ) - run_process_2(['forge', 'build'], cwd=foundry_root) + res = run_process_2(['forge', 'build'], cwd=foundry_root, check=False) + print(res.stderr) foundry_kompile( BuildOptions( diff --git a/src/tests/integration/test-data/foundry-prove-all b/src/tests/integration/test-data/foundry-prove-all index 8f79dad6f..ba525524a 100644 --- a/src/tests/integration/test-data/foundry-prove-all +++ b/src/tests/integration/test-data/foundry-prove-all @@ -349,3 +349,9 @@ WarpTest.test_warp_setup() FreshBytesTest.test_symbolic_bytes_1 FreshBytesTest.test_symbolic_bytes_3 FreshBytesTest.test_symbolic_bytes_length +FreshBytesTest.test_symbolic_bytes_1_custom_name() +FreshCheatcodes.test_bool_custom_name() +FreshCheatcodes.test_int128_custom_name1() +FreshCheatcodes.test_int128_custom_name2() +FreshCheatcodes.test_address_custom_name() +SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) diff --git a/src/tests/integration/test-data/foundry-show b/src/tests/integration/test-data/foundry-show index 1cbdb5361..9aed4f0cb 100644 --- a/src/tests/integration/test-data/foundry-show +++ b/src/tests/integration/test-data/foundry-show @@ -9,3 +9,9 @@ AssumeTest.test_assume_false(uint256,uint256) AssumeTest.testFail_assume_false(uint256,uint256) AssumeTest.testFail_assume_true(uint256,uint256) SetUpDeployTest.test_extcodesize() +FreshBytesTest.test_symbolic_bytes_1_custom_name() +FreshCheatcodes.test_bool_custom_name() +FreshCheatcodes.test_int128_custom_name1() +FreshCheatcodes.test_int128_custom_name2() +FreshCheatcodes.test_address_custom_name() +SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) diff --git a/src/tests/integration/test-data/show/FreshCheatcodes.test_address_custom_name().expected b/src/tests/integration/test-data/show/FreshCheatcodes.test_address_custom_name().expected new file mode 100644 index 000000000..244ff148e --- /dev/null +++ b/src/tests/integration/test-data/show/FreshCheatcodes.test_address_custom_name().expected @@ -0,0 +1,1754 @@ + +┌─ 1 (root, init) +│ k: #execute ~> CONTINUATION:K +│ pc: 0 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_address_custom_name() +│ +│ (415 steps) +├─ 3 +│ k: CALL 0 645326474426547203313410069153905908525362434349 0 128 100 128 32 ~> #pc ... +│ pc: 1141 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_address_custom_name() +│ +│ (1 step) +├─ 4 +│ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... +│ pc: 1141 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_address_custom_name() +│ +│ (2 steps) +├─ 5 +│ k: #cheatcode_call selector ( "freshAddress(string)" ) b"\x00\x00\x00\x00\x00\x00\x ... +│ pc: 1141 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_address_custom_name() +│ +│ (1 step) +├─ 6 +│ k: #cheatcode_return 128 32 ~> #pc [ CALL ] ~> #execute ~> CONTINUATION:K +│ pc: 1141 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_address_custom_name() +│ +│ (607 steps) +├─ 7 +│ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K +│ pc: 336 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_address_custom_name() +│ +│ (1 step) +├─ 8 +│ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K +│ pc: 336 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%FreshCheatcodes.test_address_custom_name() +│ +│ (2 steps) +├─ 9 (terminal) +│ k: #halt ~> CONTINUATION:K +│ pc: 336 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%FreshCheatcodes.test_address_custom_name() +│ +┊ constraint: true +┊ subst: OMITTED SUBST +└─ 2 (leaf, target, terminal) + k: #halt ~> CONTINUATION:K + pc: PC_CELL_5d410f2a:Int + callDepth: CALLDEPTH_CELL_5d410f2a:Int + statusCode: STATUSCODE_FINAL:StatusCode + + + + +module SUMMARY-TEST%FRESHCHEATCODES.TEST-ADDRESS-CUSTOM-NAME():0 + + + rule [BASIC-BLOCK-1-TO-3]: + + + ( .K => CALL 0 645326474426547203313410069153905908525362434349 0 128 100 128 32 + ~> #pc [ CALL ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"(wk\xd7" + + + 0 + + + ( .WordStack => ( 228 : ( selector ( "freshAddress(string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_address_custom_name()" ) : .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\x00G\xa6\\{\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07abcdefg\x00\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 + + ... + + + + .List + + + 0 + + + .Set + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( ORIGIN_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( _C_FRESHCHEATCODES_ID =/=Int 645326474426547203313410069153905908525362434349 + andBool ( CALLER_ID:Int + + + ( CALL 0 645326474426547203313410069153905908525362434349 0 128 100 128 32 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"G\xa6\\{\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07abcdefg\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" false + ~> #return 128 32 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"(wk\xd7" + + + 0 + + + ( 228 : ( selector ( "freshAddress(string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_address_custom_name()" ) : .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\x00G\xa6\\{\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07abcdefg\x00\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 + + ... + + + + .List + + + 0 + + + .Set + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"G\xa6\\{\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07abcdefg\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" false + ~> #return 128 32 => #cheatcode_call selector ( "freshAddress(string)" ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07abcdefg\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ~> #cheatcode_return 128 32 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"(wk\xd7" + + + 0 + + + ( 228 : ( selector ( "freshAddress(string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_address_custom_name()" ) : .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\x00G\xa6\\{\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07abcdefg\x00\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 + + ... + + + + .List + + + 0 + + + ( .Set => SetItem ( 645326474426547203313410069153905908525362434349 ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #cheatcode_call selector ( "freshAddress(string)" ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07abcdefg\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ~> .K => .K ) + ~> #cheatcode_return 128 32 + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( b"" => #buf ( 32 , ?ABCDEFG ) ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"(wk\xd7" + + + 0 + + + ( 228 : ( selector ( "freshAddress(string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_address_custom_name()" ) : .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\x00G\xa6\\{\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07abcdefg\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #cheatcode_return 128 32 + ~> #pc [ CALL ] => #end EVMC_SUCCESS + ~> #pc [ STOP ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( #buf ( 32 , ABCDEFG ) => b"" ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"(wk\xd7" + + + 0 + + + ( ( 228 => selector ( "test_address_custom_name()" ) ) : ( ( selector ( "freshAddress(string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_address_custom_name()" ) : .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\x00G\xa6\\{\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07abcdefg\x00\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 , ABCDEFG:Int ) +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\x00\x00\x07abcdefg\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 + + + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ STOP ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + ( _STATUSCODE => EVMC_SUCCESS ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"(wk\xd7" + + + 0 + + + ( selector ( "test_address_custom_name()" ) : .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 , ABCDEFG:Int ) +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\x00\x00\x07abcdefg\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 + + + #halt + ~> ( #pc [ STOP ] + ~> #execute => .K ) + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + EVMC_SUCCESS + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"(wk\xd7" + + + 0 + + + ( selector ( "test_address_custom_name()" ) : .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 , ABCDEFG:Int ) +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\x00\x00\x07abcdefg\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 CONTINUATION:K +│ pc: 0 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_bool_custom_name() +│ +│ (385 steps) +├─ 3 +│ k: CALL 0 645326474426547203313410069153905908525362434349 0 128 100 128 32 ~> #pc ... +│ pc: 2570 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_bool_custom_name() +│ +│ (1 step) +├─ 4 +│ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... +│ pc: 2570 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_bool_custom_name() +│ +│ (2 steps) +├─ 5 +│ k: #cheatcode_call selector ( "freshBool(string)" ) b"\x00\x00\x00\x00\x00\x00\x00\ ... +│ pc: 2570 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_bool_custom_name() +│ +│ (1 step) +├─ 6 +│ k: #cheatcode_return 128 32 ~> #pc [ CALL ] ~> #execute ~> CONTINUATION:K +│ pc: 2570 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_bool_custom_name() +│ +│ (378 steps) +└─ 7 (vacuous, leaf) + k: JUMPI 954 bool2Word ( #asWord ( #buf ( 32 , BCDEF:Int ) +Bytes b"" ) <=Int 1 ) ~ ... + pc: 4331 + callDepth: 0 + statusCode: STATUSCODE:StatusCode + method: test%FreshCheatcodes.test_bool_custom_name() + + +┌─ 2 (root, leaf, target, terminal) +│ k: #halt ~> CONTINUATION:K +│ pc: PC_CELL_5d410f2a:Int +│ callDepth: CALLDEPTH_CELL_5d410f2a:Int +│ statusCode: STATUSCODE_FINAL:StatusCode + + + +module SUMMARY-TEST%FRESHCHEATCODES.TEST-BOOL-CUSTOM-NAME():0 + + + rule [BASIC-BLOCK-1-TO-3]: + + + ( .K => CALL 0 645326474426547203313410069153905908525362434349 0 128 100 128 32 + ~> #pc [ CALL ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xb0\xe0&\x02" + + + 0 + + + ( .WordStack => ( 228 : ( selector ( "freshBool(string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_bool_custom_name()" ) : .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\x1fUw\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05bcdef\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + .Set + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( ORIGIN_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( _C_FRESHCHEATCODES_ID =/=Int 645326474426547203313410069153905908525362434349 + andBool ( CALLER_ID:Int + + + ( CALL 0 645326474426547203313410069153905908525362434349 0 128 100 128 32 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"\x1fUw\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05bcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" false + ~> #return 128 32 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xb0\xe0&\x02" + + + 0 + + + ( 228 : ( selector ( "freshBool(string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_bool_custom_name()" ) : .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\x1fUw\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05bcdef\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + .Set + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"\x1fUw\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05bcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" false + ~> #return 128 32 => #cheatcode_call selector ( "freshBool(string)" ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05bcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ~> #cheatcode_return 128 32 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xb0\xe0&\x02" + + + 0 + + + ( 228 : ( selector ( "freshBool(string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_bool_custom_name()" ) : .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\x1fUw\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05bcdef\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + ( .Set => SetItem ( 645326474426547203313410069153905908525362434349 ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #cheatcode_call selector ( "freshBool(string)" ) b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05bcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ~> .K => .K ) + ~> #cheatcode_return 128 32 + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( b"" => #buf ( 32 , ?BCDEF ) ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xb0\xe0&\x02" + + + 0 + + + ( 228 : ( selector ( "freshBool(string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_bool_custom_name()" ) : .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\x1fUw\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05bcdef\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #cheatcode_return 128 32 + ~> #pc [ CALL ] => JUMPI 954 bool2Word ( #asWord ( #buf ( 32 , BCDEF:Int ) +Bytes b"" ) <=Int 1 ) + ~> #pc [ JUMPI ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + #buf ( 32 , BCDEF ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xb0\xe0&\x02" + + + 0 + + + ( ( 228 => 1 ) : ( ( selector ( "freshBool(string)" ) => #asWord ( #buf ( 32 , BCDEF:Int ) +Bytes b"" ) ) : ( ( 645326474426547203313410069153905908525362434349 => 1230 ) : ( ( 0 => #asWord ( #buf ( 32 , BCDEF:Int ) +Bytes b"" ) ) : ( 335 : ( selector ( "test_bool_custom_name()" ) : .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\x1fUw\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05bcdef\x00\x00\x00\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 , BCDEF:Int ) +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\x00\x00\x05bcdef\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 CONTINUATION:K +│ pc: 0 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_int128_custom_name1() +│ +│ (485 steps) +├─ 3 +│ k: CALL 0 645326474426547203313410069153905908525362434349 0 128 132 128 32 ~> #pc ... +│ pc: 1423 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_int128_custom_name1() +│ +│ (1 step) +├─ 4 +│ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... +│ pc: 1423 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_int128_custom_name1() +│ +│ (2 steps) +├─ 5 +│ k: #cheatcode_call selector ( "freshUInt(uint8,string)" ) b"\x00\x00\x00\x00\x00\x0 ... +│ pc: 1423 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_int128_custom_name1() +│ +│ (1 step) +├─ 6 +│ k: #cheatcode_return 128 32 ~> #pc [ CALL ] ~> #execute ~> CONTINUATION:K +│ pc: 1423 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_int128_custom_name1() +│ +│ (504 steps) +├─ 7 +│ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K +│ pc: 336 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_int128_custom_name1() +│ +│ (1 step) +├─ 8 +│ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K +│ pc: 336 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%FreshCheatcodes.test_int128_custom_name1() +│ +│ (2 steps) +├─ 9 (terminal) +│ k: #halt ~> CONTINUATION:K +│ pc: 336 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%FreshCheatcodes.test_int128_custom_name1() +│ +┊ constraint: true +┊ subst: OMITTED SUBST +└─ 2 (leaf, target, terminal) + k: #halt ~> CONTINUATION:K + pc: PC_CELL_5d410f2a:Int + callDepth: CALLDEPTH_CELL_5d410f2a:Int + statusCode: STATUSCODE_FINAL:StatusCode + + + + +module SUMMARY-TEST%FRESHCHEATCODES.TEST-INT128-CUSTOM-NAME1():0 + + + rule [BASIC-BLOCK-1-TO-3]: + + + ( .K => CALL 0 645326474426547203313410069153905908525362434349 0 128 132 128 32 + ~> #pc [ CALL ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"?n\xef\xcb" + + + 0 + + + ( .WordStack => ( 260 : ( selector ( "freshUInt(uint8,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_int128_custom_name1()" ) : .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[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\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 + + ... + + + + .List + + + 0 + + + .Set + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( ORIGIN_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( _C_FRESHCHEATCODES_ID =/=Int 645326474426547203313410069153905908525362434349 + andBool ( CALLER_ID:Int + + + ( CALL 0 645326474426547203313410069153905908525362434349 0 128 132 128 32 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" false + ~> #return 128 32 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"?n\xef\xcb" + + + 0 + + + ( 260 : ( selector ( "freshUInt(uint8,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_int128_custom_name1()" ) : .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[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\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 + + ... + + + + .List + + + 0 + + + .Set + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" false + ~> #return 128 32 => #cheatcode_call selector ( "freshUInt(uint8,string)" ) b"\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ~> #cheatcode_return 128 32 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"?n\xef\xcb" + + + 0 + + + ( 260 : ( selector ( "freshUInt(uint8,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_int128_custom_name1()" ) : .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[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\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 + + ... + + + + .List + + + 0 + + + ( .Set => SetItem ( 645326474426547203313410069153905908525362434349 ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #cheatcode_call selector ( "freshUInt(uint8,string)" ) b"\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ~> .K => .K ) + ~> #cheatcode_return 128 32 + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( b"" => #buf ( 32 , ?ABCDEF ) ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"?n\xef\xcb" + + + 0 + + + ( 260 : ( selector ( "freshUInt(uint8,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_int128_custom_name1()" ) : .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[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #cheatcode_return 128 32 + ~> #pc [ CALL ] => #end EVMC_SUCCESS + ~> #pc [ STOP ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( #buf ( 32 , ABCDEF ) => b"" ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"?n\xef\xcb" + + + 0 + + + ( ( 260 => selector ( "test_int128_custom_name1()" ) ) : ( ( selector ( "freshUInt(uint8,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_int128_custom_name1()" ) : .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[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\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 , ABCDEF:Int ) +Bytes b"\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 + + + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ STOP ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + ( _STATUSCODE => EVMC_SUCCESS ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"?n\xef\xcb" + + + 0 + + + ( selector ( "test_int128_custom_name1()" ) : .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 , ABCDEF:Int ) +Bytes b"\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 + + + #halt + ~> ( #pc [ STOP ] + ~> #execute => .K ) + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + EVMC_SUCCESS + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"?n\xef\xcb" + + + 0 + + + ( selector ( "test_int128_custom_name1()" ) : .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 , ABCDEF:Int ) +Bytes b"\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 CONTINUATION:K +│ pc: 0 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_int128_custom_name2() +│ +│ (682 steps) +├─ 3 +│ k: CALL 0 645326474426547203313410069153905908525362434349 0 192 132 192 32 ~> #pc ... +│ pc: 4488 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_int128_custom_name2() +│ +│ (1 step) +├─ 4 +│ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... +│ pc: 4488 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_int128_custom_name2() +│ +│ (2 steps) +├─ 5 +│ k: #cheatcode_call selector ( "freshUInt(uint8,string)" ) b"\x00\x00\x00\x00\x00\x0 ... +│ pc: 4488 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_int128_custom_name2() +│ +│ (1 step) +├─ 6 +│ k: #cheatcode_return 192 32 ~> #pc [ CALL ] ~> #execute ~> CONTINUATION:K +│ pc: 4488 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_int128_custom_name2() +│ +│ (537 steps) +├─ 7 +│ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K +│ pc: 336 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_int128_custom_name2() +│ +│ (1 step) +├─ 8 +│ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K +│ pc: 336 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%FreshCheatcodes.test_int128_custom_name2() +│ +│ (2 steps) +├─ 9 (terminal) +│ k: #halt ~> CONTINUATION:K +│ pc: 336 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%FreshCheatcodes.test_int128_custom_name2() +│ +┊ constraint: true +┊ subst: OMITTED SUBST +└─ 2 (leaf, target, terminal) + k: #halt ~> CONTINUATION:K + pc: PC_CELL_5d410f2a:Int + callDepth: CALLDEPTH_CELL_5d410f2a:Int + statusCode: STATUSCODE_FINAL:StatusCode + + + + +module SUMMARY-TEST%FRESHCHEATCODES.TEST-INT128-CUSTOM-NAME2():0 + + + rule [BASIC-BLOCK-1-TO-3]: + + + ( .K => CALL 0 645326474426547203313410069153905908525362434349 0 192 132 192 32 + ~> #pc [ CALL ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xafu^\x02" + + + 0 + + + ( .WordStack => ( 324 : ( selector ( "freshUInt(uint8,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 128 : ( 1476 : ( 0 : ( 335 : ( selector ( "test_int128_custom_name2()" ) : .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\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + .Set + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( ORIGIN_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( _C_FRESHCHEATCODES_ID =/=Int 645326474426547203313410069153905908525362434349 + andBool ( CALLER_ID:Int + + + ( CALL 0 645326474426547203313410069153905908525362434349 0 192 132 192 32 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" false + ~> #return 192 32 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xafu^\x02" + + + 0 + + + ( 324 : ( selector ( "freshUInt(uint8,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 128 : ( 1476 : ( 0 : ( 335 : ( selector ( "test_int128_custom_name2()" ) : .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\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + .Set + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" false + ~> #return 192 32 => #cheatcode_call selector ( "freshUInt(uint8,string)" ) b"\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ~> #cheatcode_return 192 32 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xafu^\x02" + + + 0 + + + ( 324 : ( selector ( "freshUInt(uint8,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 128 : ( 1476 : ( 0 : ( 335 : ( selector ( "test_int128_custom_name2()" ) : .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\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + ( .Set => SetItem ( 645326474426547203313410069153905908525362434349 ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #cheatcode_call selector ( "freshUInt(uint8,string)" ) b"\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ~> .K => .K ) + ~> #cheatcode_return 192 32 + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( b"" => #buf ( 32 , ?ABCDEF ) ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xafu^\x02" + + + 0 + + + ( 324 : ( selector ( "freshUInt(uint8,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 128 : ( 1476 : ( 0 : ( 335 : ( selector ( "test_int128_custom_name2()" ) : .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\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #cheatcode_return 192 32 + ~> #pc [ CALL ] => #end EVMC_SUCCESS + ~> #pc [ STOP ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( #buf ( 32 , ABCDEF ) => b"" ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xafu^\x02" + + + 0 + + + ( ( 324 => selector ( "test_int128_custom_name2()" ) ) : ( ( selector ( "freshUInt(uint8,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 128 : ( 1476 : ( 0 : ( 335 : ( selector ( "test_int128_custom_name2()" ) : .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\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00[?\xdf\t\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\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\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\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 , ABCDEF:Int ) +Bytes b"\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 + + + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ STOP ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + ( _STATUSCODE => EVMC_SUCCESS ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xafu^\x02" + + + 0 + + + ( selector ( "test_int128_custom_name2()" ) : .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\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\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 , ABCDEF:Int ) +Bytes b"\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 + + + #halt + ~> ( #pc [ STOP ] + ~> #execute => .K ) + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + EVMC_SUCCESS + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xafu^\x02" + + + 0 + + + ( selector ( "test_int128_custom_name2()" ) : .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\xe0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\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 , ABCDEF:Int ) +Bytes b"\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x06abcdef\x00\x00\x00\x00\x00\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 CONTINUATION:K +│ pc: 0 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +│ +│ (510 steps) +├─ 3 +│ k: #end EVMC_SUCCESS ~> #pc [ RETURN ] ~> #execute ~> #codeDeposit 4914609233421842 ... +│ pc: 33 +│ callDepth: 1 +│ statusCode: STATUSCODE:StatusCode +│ +│ (1 step) +├─ 4 +│ k: #halt ~> #pc [ RETURN ] ~> #execute ~> #codeDeposit 4914609233421842180357068880 ... +│ pc: 33 +│ callDepth: 1 +│ statusCode: EVMC_SUCCESS +│ +│ (2 steps) +├─ 5 +│ k: #halt ~> #codeDeposit 491460923342184218035706888008750043977755113263 ~> #pc [ ... +│ pc: 33 +│ callDepth: 1 +│ statusCode: EVMC_SUCCESS +│ +│ (310 steps) +├─ 6 +│ k: CALL 0 645326474426547203313410069153905908525362434349 0 128 132 128 0 ~> #pc [ ... +│ pc: 741 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +│ +│ (1 step) +├─ 7 +│ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... +│ pc: 741 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +│ +│ (6 steps) +├─ 8 +│ k: #setSymbolicStorageCustomVar 491460923342184218035706888008750043977755113263 b" ... +│ pc: 741 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +│ +│ (1 step) +├─ 9 +│ k: #cheatcode_return 128 0 ~> #pc [ CALL ] ~> #execute ~> CONTINUATION:K +│ pc: 741 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +│ +│ (201 steps) +├─ 10 +│ k: STATICCALL 0 645326474426547203313410069153905908525362434349 128 68 128 32 ~> # ... +│ pc: 843 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +│ +│ (1 step) +├─ 11 +│ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... +│ pc: 843 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +│ +│ (271 steps) +├─ 12 (split) +│ k: JUMPI 912 chop ( ( 0 -Int #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) ... +│ pc: 907 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +┃ +┃ (branch) +┣━━┓ constraint: ( notBool chop ( ( 0 -Int #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) ) ==Int 0 ) +┃ │ +┃ ├─ 13 +┃ │ k: JUMPI 912 chop ( ( 0 -Int #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) ... +┃ │ pc: 907 +┃ │ callDepth: 0 +┃ │ statusCode: EVMC_SUCCESS +┃ │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +┃ │ +┃ │ (999 steps) +┃ ├─ 15 +┃ │ k: CALL 0 645326474426547203313410069153905908525362434349 0 420 100 420 0 ~> #pc [ ... +┃ │ pc: 3285 +┃ │ callDepth: 0 +┃ │ statusCode: EVMC_SUCCESS +┃ │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +┃ │ +┃ │ (1 step) +┃ ├─ 17 +┃ │ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... +┃ │ pc: 3285 +┃ │ callDepth: 0 +┃ │ statusCode: EVMC_SUCCESS +┃ │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +┃ │ +┃ │ (249 steps) +┃ ├─ 19 +┃ │ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K +┃ │ pc: 300 +┃ │ callDepth: 0 +┃ │ statusCode: EVMC_SUCCESS +┃ │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +┃ │ +┃ │ (1 step) +┃ ├─ 21 +┃ │ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K +┃ │ pc: 300 +┃ │ callDepth: 0 +┃ │ statusCode: EVMC_SUCCESS +┃ │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +┃ │ +┃ │ (2 steps) +┃ ├─ 22 (terminal) +┃ │ k: #halt ~> CONTINUATION:K +┃ │ pc: 300 +┃ │ callDepth: 0 +┃ │ statusCode: EVMC_SUCCESS +┃ │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) +┃ │ +┃ ┊ constraint: true +┃ ┊ subst: OMITTED SUBST +┃ └─ 2 (leaf, target, terminal) +┃ k: #halt ~> CONTINUATION:K +┃ pc: PC_CELL_5d410f2a:Int +┃ callDepth: CALLDEPTH_CELL_5d410f2a:Int +┃ statusCode: STATUSCODE_FINAL:StatusCode +┃ +┗━━┓ constraint: 0 ==Int chop ( ( 0 -Int #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) ) + │ + ├─ 14 + │ k: JUMPI 912 chop ( ( 0 -Int #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) ... + │ pc: 907 + │ callDepth: 0 + │ statusCode: EVMC_SUCCESS + │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) + │ + │ (12 steps) + ├─ 16 + │ k: #end EVMC_REVERT ~> #pc [ REVERT ] ~> #execute ~> CONTINUATION:K + │ pc: 911 + │ callDepth: 0 + │ statusCode: EVMC_SUCCESS + │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) + │ + │ (1 step) + ├─ 18 + │ k: #halt ~> #pc [ REVERT ] ~> #execute ~> CONTINUATION:K + │ pc: 911 + │ callDepth: 0 + │ statusCode: EVMC_REVERT + │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) + │ + │ (2 steps) + ├─ 20 (terminal) + │ k: #halt ~> CONTINUATION:K + │ pc: 911 + │ callDepth: 0 + │ statusCode: EVMC_REVERT + │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) + │ + ┊ constraint: true + ┊ subst: OMITTED SUBST + └─ 2 (leaf, target, terminal) + k: #halt ~> CONTINUATION:K + pc: PC_CELL_5d410f2a:Int + callDepth: CALLDEPTH_CELL_5d410f2a:Int + statusCode: STATUSCODE_FINAL:StatusCode + + + + +module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UINT256):0 + + + rule [BASIC-BLOCK-1-TO-3]: + + + ( .K => #end EVMC_SUCCESS + ~> #pc [ RETURN ] + ~> #execute + ~> #codeDeposit 491460923342184218035706888008750043977755113263 + ~> #pc [ CREATE ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( b"" => b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" ) + + + ( .List => ListItem ( + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( 0 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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`@Ra\x059`\x00U4\x80\x15`\x15W`\x00\x80\xfd[P`?\x80`#`\x009`\x00\xf3\xfe`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" + + + 0 + + + 0 + + + false + + + 0 + + ... + ) ) + + + ( .List => ListItem ( { + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) + | + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + SetItem ( 491460923342184218035706888008750043977755113263 ) + + + .Map + + } ) ) + + + ( .Set => ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) + + + + ( 728815563385977040452943777879061427756277306518 => 491460923342184218035706888008750043977755113263 ) + + + ( CALLER_ID:Int => 728815563385977040452943777879061427756277306518 ) + + + ( b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) => b"" ) + + + 0 + + + .WordStack + + + ( b"" => b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 + + + ( 0 => 1 ) + + ... + + + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + ( .Set => ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) + + + .Map + + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + ( 645326474426547203313410069153905908525362434349 => 491460923342184218035706888008750043977755113263 ) + + + 0 + + + ( .Map => ( 0 |-> 1337 ) ) + + + .Map + + + .Map + + + ( 0 => 1 ) + + ... + + ( + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + => ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( ORIGIN_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( _C_SYMBOLICSTORAGETEST_ID =/=Int 645326474426547203313410069153905908525362434349 + andBool ( CALLER_ID:Int + + + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ RETURN ] + ~> #execute + ~> #codeDeposit 491460923342184218035706888008750043977755113263 + ~> #pc [ CREATE ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" + + + ( _STATUSCODE => EVMC_SUCCESS ) + + + ListItem ( + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( 0 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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`@Ra\x059`\x00U4\x80\x15`\x15W`\x00\x80\xfd[P`?\x80`#`\x009`\x00\xf3\xfe`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" + + + 0 + + + 0 + + + false + + + 0 + + ... + ) + + + ListItem ( { + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) + | + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + SetItem ( 491460923342184218035706888008750043977755113263 ) + + + .Map + + } ) + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 491460923342184218035706888008750043977755113263 + + + 728815563385977040452943777879061427756277306518 + + + b"" + + + 0 + + + .WordStack + + + b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 + + ... + + + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + .Map + + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + ( 0 |-> 1337 ) + + + .Map + + + .Map + + + 1 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + #halt + ~> ( #pc [ RETURN ] + ~> #execute => .K ) + ~> #codeDeposit 491460923342184218035706888008750043977755113263 + ~> #pc [ CREATE ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" + + + EVMC_SUCCESS + + + ListItem ( + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( 0 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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`@Ra\x059`\x00U4\x80\x15`\x15W`\x00\x80\xfd[P`?\x80`#`\x009`\x00\xf3\xfe`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" + + + 0 + + + 0 + + + false + + + 0 + + ... + ) + + + ListItem ( { + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) + | + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + SetItem ( 491460923342184218035706888008750043977755113263 ) + + + .Map + + } ) + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 491460923342184218035706888008750043977755113263 + + + 728815563385977040452943777879061427756277306518 + + + b"" + + + 0 + + + .WordStack + + + b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 + + ... + + + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + .Map + + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + ( 0 |-> 1337 ) + + + .Map + + + .Map + + + 1 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + ( #halt + ~> #codeDeposit 491460923342184218035706888008750043977755113263 + ~> #pc [ CREATE ] => CALL 0 645326474426547203313410069153905908525362434349 0 128 132 128 0 + ~> #pc [ CALL ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" => b"" ) + + + EVMC_SUCCESS + + + ( ListItem ( + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( 0 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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`@Ra\x059`\x00U4\x80\x15`\x15W`\x00\x80\xfd[P`?\x80`#`\x009`\x00\xf3\xfe`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" + + + 0 + + + 0 + + + false + + + 0 + + ... + ) => .List ) + + + ( ListItem ( { + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) + | + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + SetItem ( 491460923342184218035706888008750043977755113263 ) + + + .Map + + } ) => .List ) + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + ( 491460923342184218035706888008750043977755113263 => 728815563385977040452943777879061427756277306518 ) + + + ( 728815563385977040452943777879061427756277306518 => CALLER_ID:Int ) + + + ( b"" => b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) ) + + + 0 + + + ( .WordStack => ( 260 : ( selector ( "symbolicStorage(address,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .WordStack ) ) ) ) ) ) ) ) + + + ( b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,i\xfe\x08\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/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + + + 0 + + + 0 + + + false + + + ( 1 => 0 ) + + ... + + + + SELFDESTRUCT_CELL:Set + + + .List + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 728815563385977040452943777879061427756277306518 ) => ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) + + + .Map + + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + ( 0 |-> 1337 ) + + + .Map + + + .Map + + + 1 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + ( CALL 0 645326474426547203313410069153905908525362434349 0 128 132 128 0 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b",i\xfe\x08\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/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" false + ~> #return 128 0 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + EVMC_SUCCESS + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( 260 : ( selector ( "symbolicStorage(address,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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,i\xfe\x08\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/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + ( 0 |-> 1337 ) + + + .Map + + + .Map + + + 1 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b",i\xfe\x08\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/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" false + ~> #return 128 0 => #setSymbolicStorageCustomVar 491460923342184218035706888008750043977755113263 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/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ~> #cheatcode_return 128 0 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + EVMC_SUCCESS + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( 260 : ( selector ( "symbolicStorage(address,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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,i\xfe\x08\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/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + ( SetItem ( ( 645326474426547203313410069153905908525362434349 => 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) ) ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 728815563385977040452943777879061427756277306518 ) => ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + ( 645326474426547203313410069153905908525362434349 => 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + ( 0 |-> 1337 ) + + + .Map + + + .Map + + + 1 + + ... + + ( + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + => ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + ( #setSymbolicStorageCustomVar 491460923342184218035706888008750043977755113263 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/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ~> .K => .K ) + ~> #cheatcode_return 128 0 + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + EVMC_SUCCESS + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( 260 : ( selector ( "symbolicStorage(address,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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,i\xfe\x08\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/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + ( ( 0 |-> 1337 ) => ?STORAGE_ABCD ) + + + ( .Map => ?STORAGE_ABCD ) + + + .Map + + + 1 + + ... + + ( + + 52221701024126167986573342767993497093121888532608922113225646551014064521216 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + ( #cheatcode_return 128 0 + ~> #pc [ CALL ] => STATICCALL 0 645326474426547203313410069153905908525362434349 128 68 128 32 + ~> #pc [ STATICCALL ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + EVMC_SUCCESS + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( ( 260 => 196 ) : ( ( selector ( "symbolicStorage(address,string)" ) => selector ( "load(address,bytes32)" ) ) : ( 645326474426547203313410069153905908525362434349 : ( ( 491460923342184218035706888008750043977755113263 => 0 ) : ( ( VV0_slot_114b9705:Int => 491460923342184218035706888008750043977755113263 ) : ( ( 299 => VV0_slot_114b9705:Int ) : ( ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) => 299 ) : ( .WordStack => ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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,i\xfe\x08\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/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\fstorage_abcd\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\x00f\x7f\x9dp\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/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) +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\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + STORAGE_ABCD + + + STORAGE_ABCD + + + .Map + + + 1 + + ... + + ( + + 52221701024126167986573342767993497093121888532608922113225646551014064521216 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + ( STATICCALL 0 645326474426547203313410069153905908525362434349 128 68 128 32 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"f\x7f\x9dp\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/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) true + ~> #return 128 32 ) + ~> #pc [ STATICCALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + EVMC_SUCCESS + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( 196 : ( selector ( "load(address,bytes32)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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\x00f\x7f\x9dp\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/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) +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\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + STORAGE_ABCD:Map + + + STORAGE_ABCD:Map + + + .Map + + + 1 + + ... + + ( + + 52221701024126167986573342767993497093121888532608922113225646551014064521216 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"f\x7f\x9dp\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/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) true + ~> #return 128 32 + ~> #pc [ STATICCALL ] => JUMPI 912 chop ( ( 0 -Int #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) ) + ~> #pc [ JUMPI ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( b"" => #buf ( 32 , #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) ) + + + EVMC_SUCCESS + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( ( 196 => #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) : ( ( selector ( "load(address,bytes32)" ) => 491460923342184218035706888008750043977755113263 ) : ( ( 645326474426547203313410069153905908525362434349 => VV0_slot_114b9705:Int ) : ( ( 0 => 299 ) : ( ( 491460923342184218035706888008750043977755113263 => selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) ) : ( ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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\x00f\x7f\x9dp\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" ) +Bytes #buf ( 32 , ( VV0_slot_114b9705:Int => #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) ) +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\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" => b"\xcc#\xb7/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) +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\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + STORAGE_ABCD:Map + + + STORAGE_ABCD:Map + + + .Map + + + 1 + + ... + + ( + + 52221701024126167986573342767993497093121888532608922113225646551014064521216 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + ( JUMPI 912 chop ( ( 0 -Int #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) ) + ~> #pc [ JUMPI ] => CALL 0 645326474426547203313410069153905908525362434349 0 420 100 420 0 + ~> #pc [ CALL ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + #buf ( 32 , #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) + + + EVMC_SUCCESS + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) => 520 ) : ( ( 491460923342184218035706888008750043977755113263 => 645326474426547203313410069153905908525362434349 ) : ( ( VV0_slot_114b9705:Int => 0 ) : ( ( 299 => 1935 ) : ( ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) => 0 ) : ( .WordStack => ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 923 : ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\xa4\x00\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +Bytes ( b"\xcc#\xb7/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) +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\fstorage_abcd\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\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00dp\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" ) + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + ( .List => ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 29485693714967335757563038618841744472215891622979272243827124658718922284880 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\"Error: a == b not satisfied [uint]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\n Left\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n Right\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ) + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + STORAGE_ABCD:Map + + + STORAGE_ABCD:Map + + + .Map + + + 1 + + ... + + ( + + 52221701024126167986573342767993497093121888532608922113225646551014064521216 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + ( JUMPI 912 chop ( ( 0 -Int #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) ) + ~> #pc [ JUMPI ] => #end EVMC_REVERT + ~> #pc [ REVERT ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( #buf ( 32 , #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) => b"" ) + + + EVMC_SUCCESS + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) => 0 ) : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" ) +Bytes #buf ( 32 , ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) => VV0_slot_114b9705:Int ) ) +Bytes ( b"\xcc#\xb7/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) +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\fstorage_abcd\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\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + STORAGE_ABCD:Map + + + STORAGE_ABCD:Map + + + .Map + + + 1 + + ... + + ( + + 52221701024126167986573342767993497093121888532608922113225646551014064521216 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + ( CALL 0 645326474426547203313410069153905908525362434349 0 420 100 420 0 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" false + ~> #return 420 0 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + #buf ( 32 , #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) + + + EVMC_SUCCESS + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( 520 : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 1935 : ( 0 : ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 923 : ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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\x01\xa4\x00\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00dp\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 29485693714967335757563038618841744472215891622979272243827124658718922284880 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\"Error: a == b not satisfied [uint]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\n Left\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n Right\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + STORAGE_ABCD:Map + + + STORAGE_ABCD:Map + + + .Map + + + 1 + + ... + + ( + + 52221701024126167986573342767993497093121888532608922113225646551014064521216 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + ( #end EVMC_REVERT => #halt ) + ~> #pc [ REVERT ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + ( EVMC_SUCCESS => EVMC_REVERT ) + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( 0 : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) +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\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + STORAGE_ABCD:Map + + + STORAGE_ABCD:Map + + + .Map + + + 1 + + ... + + ( + + 52221701024126167986573342767993497093121888532608922113225646551014064521216 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" false + ~> #return 420 0 + ~> #pc [ CALL ] => #end EVMC_SUCCESS + ~> #pc [ STOP ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( #buf ( 32 , #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) => b"" ) + + + EVMC_SUCCESS + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( ( 520 => selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) ) : ( ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 1935 : ( 0 : ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 923 : ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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\x01\xa4\x00\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00dp\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 29485693714967335757563038618841744472215891622979272243827124658718922284880 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\"Error: a == b not satisfied [uint]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\n Left\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n Right\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + STORAGE_ABCD:Map + + + STORAGE_ABCD:Map + + + .Map + + + 1 + + ... + + ( + + 52221701024126167986573342767993497093121888532608922113225646551014064521216 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + ( .Map => ( 46308022326495007027972728677917914892729792999299745830475596687180801507328 |-> 1 ) ) + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + ( .Map => ( 7 |-> 256 ) ) + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + #halt + ~> ( #pc [ REVERT ] + ~> #execute => .K ) + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + EVMC_REVERT + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( 0 : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) +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\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + STORAGE_ABCD:Map + + + STORAGE_ABCD:Map + + + .Map + + + 1 + + ... + + ( + + 52221701024126167986573342767993497093121888532608922113225646551014064521216 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ STOP ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + EVMC_SUCCESS + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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\x01\xa4\x00\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00dp\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 29485693714967335757563038618841744472215891622979272243827124658718922284880 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\"Error: a == b not satisfied [uint]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\n Left\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n Right\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + STORAGE_ABCD:Map + + + STORAGE_ABCD:Map + + + .Map + + + 1 + + ... + + ( + + 52221701024126167986573342767993497093121888532608922113225646551014064521216 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + ( 46308022326495007027972728677917914892729792999299745830475596687180801507328 |-> 1 ) + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + ( 7 |-> 256 ) + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int + + + #halt + ~> ( #pc [ STOP ] + ~> #execute => .K ) + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + EVMC_SUCCESS + + + .List + + + .List + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xdd8\x11K" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) + + + 0 + + + ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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\x01\xa4\x00\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00dp\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 29485693714967335757563038618841744472215891622979272243827124658718922284880 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\"Error: a == b not satisfied [uint]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\n Left\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n Right\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) + + + 0 + + + ( SetItem ( 491460923342184218035706888008750043977755113263 ) ( SetItem ( 52221701024126167986573342767993497093121888532608922113225646551014064521216 ) ( SetItem ( 645326474426547203313410069153905908525362434349 ) SetItem ( 728815563385977040452943777879061427756277306518 ) ) ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 491460923342184218035706888008750043977755113263 + + + 0 + + + STORAGE_ABCD:Map + + + STORAGE_ABCD:Map + + + .Map + + + 1 + + ... + + ( + + 52221701024126167986573342767993497093121888532608922113225646551014064521216 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + ( 46308022326495007027972728677917914892729792999299745830475596687180801507328 |-> 1 ) + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + ( 7 |-> 256 ) + + + .Map + + + .Map + + + 2 + + ... + ) ) ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( CALLER_ID:Int #abiCallData ( "test_symbolic_bytes_1" , .TypedArgs ) ) + rule ( S2KtestZModFreshBytesTest . S2KtestZUndsymbolicZUndbytesZUnd1ZUndcustomZUndname ( ) => #abiCallData ( "test_symbolic_bytes_1_custom_name" , .TypedArgs ) ) + + rule ( S2KtestZModFreshBytesTest . S2KtestZUndsymbolicZUndbytesZUnd2 ( ) => #abiCallData ( "test_symbolic_bytes_2" , .TypedArgs ) ) @@ -5103,6 +5108,9 @@ module S2KtestZModFreshBytesTest-CONTRACT rule ( selector ( "test_symbolic_bytes_1()" ) => 1469379986 ) + rule ( selector ( "test_symbolic_bytes_1_custom_name()" ) => 504290508 ) + + rule ( selector ( "test_symbolic_bytes_2()" ) => 1407248988 ) @@ -5149,14 +5157,22 @@ module S2KtestZModFreshCheatcodes-CONTRACT syntax S2KtestZModFreshCheatcodesMethod ::= "S2KtestZUndaddress" "(" ")" [symbol("method_test%FreshCheatcodes_S2KtestZUndaddress_")] + syntax S2KtestZModFreshCheatcodesMethod ::= "S2KtestZUndaddressZUndcustomZUndname" "(" ")" [symbol("method_test%FreshCheatcodes_S2KtestZUndaddressZUndcustomZUndname_")] + syntax S2KtestZModFreshCheatcodesMethod ::= "S2KtestZUndbool" "(" ")" [symbol("method_test%FreshCheatcodes_S2KtestZUndbool_")] + syntax S2KtestZModFreshCheatcodesMethod ::= "S2KtestZUndboolZUndcustomZUndname" "(" ")" [symbol("method_test%FreshCheatcodes_S2KtestZUndboolZUndcustomZUndname_")] + syntax S2KtestZModFreshCheatcodesMethod ::= "S2KtestZUndfreshSymbolicWord" "(" ")" [symbol("method_test%FreshCheatcodes_S2KtestZUndfreshSymbolicWord_")] syntax S2KtestZModFreshCheatcodesMethod ::= "S2KtestZUndfreshUints" "(" Int ":" "uint8" ")" [symbol("method_test%FreshCheatcodes_S2KtestZUndfreshUints_uint8")] syntax S2KtestZModFreshCheatcodesMethod ::= "S2KtestZUndint128" "(" ")" [symbol("method_test%FreshCheatcodes_S2KtestZUndint128_")] + syntax S2KtestZModFreshCheatcodesMethod ::= "S2KtestZUndint128ZUndcustomZUndname1" "(" ")" [symbol("method_test%FreshCheatcodes_S2KtestZUndint128ZUndcustomZUndname1_")] + + syntax S2KtestZModFreshCheatcodesMethod ::= "S2KtestZUndint128ZUndcustomZUndname2" "(" ")" [symbol("method_test%FreshCheatcodes_S2KtestZUndint128ZUndcustomZUndname2_")] + rule ( S2KtestZModFreshCheatcodes . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) @@ -5196,9 +5212,15 @@ module S2KtestZModFreshCheatcodes-CONTRACT rule ( S2KtestZModFreshCheatcodes . S2KtestZUndaddress ( ) => #abiCallData ( "test_address" , .TypedArgs ) ) + rule ( S2KtestZModFreshCheatcodes . S2KtestZUndaddressZUndcustomZUndname ( ) => #abiCallData ( "test_address_custom_name" , .TypedArgs ) ) + + rule ( S2KtestZModFreshCheatcodes . S2KtestZUndbool ( ) => #abiCallData ( "test_bool" , .TypedArgs ) ) + rule ( S2KtestZModFreshCheatcodes . S2KtestZUndboolZUndcustomZUndname ( ) => #abiCallData ( "test_bool_custom_name" , .TypedArgs ) ) + + rule ( S2KtestZModFreshCheatcodes . S2KtestZUndfreshSymbolicWord ( ) => #abiCallData ( "test_freshSymbolicWord" , .TypedArgs ) ) @@ -5209,6 +5231,12 @@ module S2KtestZModFreshCheatcodes-CONTRACT rule ( S2KtestZModFreshCheatcodes . S2KtestZUndint128 ( ) => #abiCallData ( "test_int128" , .TypedArgs ) ) + rule ( S2KtestZModFreshCheatcodes . S2KtestZUndint128ZUndcustomZUndname1 ( ) => #abiCallData ( "test_int128_custom_name1" , .TypedArgs ) ) + + + rule ( S2KtestZModFreshCheatcodes . S2KtestZUndint128ZUndcustomZUndname2 ( ) => #abiCallData ( "test_int128_custom_name2" , .TypedArgs ) ) + + rule ( selector ( "IS_TEST()" ) => 4202047188 ) @@ -5248,9 +5276,15 @@ module S2KtestZModFreshCheatcodes-CONTRACT rule ( selector ( "test_address()" ) => 3931432000 ) + rule ( selector ( "test_address_custom_name()" ) => 678915031 ) + + rule ( selector ( "test_bool()" ) => 1205338438 ) + rule ( selector ( "test_bool_custom_name()" ) => 2967479810 ) + + rule ( selector ( "test_freshSymbolicWord()" ) => 4235451793 ) @@ -5259,6 +5293,12 @@ module S2KtestZModFreshCheatcodes-CONTRACT rule ( selector ( "test_int128()" ) => 3014857546 ) + + rule ( selector ( "test_int128_custom_name1()" ) => 1064234955 ) + + + rule ( selector ( "test_int128_custom_name2()" ) => 2943704578 ) + endmodule @@ -5778,12 +5818,20 @@ module S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase-CONTRACT syntax S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBaseMethod ::= "S2KfreshAddress" "(" ")" [symbol("method_lib%kontrol-cheatcodes%src%KontrolCheatsBase_S2KfreshAddress_")] + syntax S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBaseMethod ::= "S2KfreshAddress" "(" String ":" "string" ")" [symbol("method_lib%kontrol-cheatcodes%src%KontrolCheatsBase_S2KfreshAddress_string")] + syntax S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBaseMethod ::= "S2KfreshBool" "(" ")" [symbol("method_lib%kontrol-cheatcodes%src%KontrolCheatsBase_S2KfreshBool_")] + syntax S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBaseMethod ::= "S2KfreshBool" "(" String ":" "string" ")" [symbol("method_lib%kontrol-cheatcodes%src%KontrolCheatsBase_S2KfreshBool_string")] + syntax S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBaseMethod ::= "S2KfreshBytes" "(" Int ":" "uint256" ")" [symbol("method_lib%kontrol-cheatcodes%src%KontrolCheatsBase_S2KfreshBytes_uint256")] + syntax S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBaseMethod ::= "S2KfreshBytes" "(" Int ":" "uint256" "," String ":" "string" ")" [symbol("method_lib%kontrol-cheatcodes%src%KontrolCheatsBase_S2KfreshBytes_uint256_string")] + syntax S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBaseMethod ::= "S2KfreshUInt" "(" Int ":" "uint8" ")" [symbol("method_lib%kontrol-cheatcodes%src%KontrolCheatsBase_S2KfreshUInt_uint8")] + syntax S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBaseMethod ::= "S2KfreshUInt" "(" Int ":" "uint8" "," String ":" "string" ")" [symbol("method_lib%kontrol-cheatcodes%src%KontrolCheatsBase_S2KfreshUInt_uint8_string")] + syntax S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBaseMethod ::= "S2KinfiniteGas" "(" ")" [symbol("method_lib%kontrol-cheatcodes%src%KontrolCheatsBase_S2KinfiniteGas_")] syntax S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBaseMethod ::= "S2KmockFunction" "(" Int ":" "address" "," Int ":" "address" "," Bytes ":" "bytes" ")" [symbol("method_lib%kontrol-cheatcodes%src%KontrolCheatsBase_S2KmockFunction_address_address_bytes")] @@ -5792,6 +5840,8 @@ module S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase-CONTRACT syntax S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBaseMethod ::= "S2KsymbolicStorage" "(" Int ":" "address" ")" [symbol("method_lib%kontrol-cheatcodes%src%KontrolCheatsBase_S2KsymbolicStorage_address")] + syntax S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBaseMethod ::= "S2KsymbolicStorage" "(" Int ":" "address" "," String ":" "string" ")" [symbol("method_lib%kontrol-cheatcodes%src%KontrolCheatsBase_S2KsymbolicStorage_address_string")] + rule ( S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase . S2KallowCallsToAddress ( V0_ : address ) => #abiCallData ( "allowCallsToAddress" , ( #address ( V0_ ) , .TypedArgs ) ) ) ensures #rangeAddress ( V0_ ) @@ -5847,17 +5897,31 @@ module S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase-CONTRACT rule ( S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase . S2KfreshAddress ( ) => #abiCallData ( "freshAddress" , .TypedArgs ) ) + rule ( S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase . S2KfreshAddress ( V0_ : string ) => #abiCallData ( "freshAddress" , ( #string ( V0_ ) , .TypedArgs ) ) ) + + rule ( S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase . S2KfreshBool ( ) => #abiCallData ( "freshBool" , .TypedArgs ) ) + rule ( S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase . S2KfreshBool ( V0_ : string ) => #abiCallData ( "freshBool" , ( #string ( V0_ ) , .TypedArgs ) ) ) + + rule ( S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase . S2KfreshBytes ( V0_ : uint256 ) => #abiCallData ( "freshBytes" , ( #uint256 ( V0_ ) , .TypedArgs ) ) ) ensures #rangeUInt ( 256 , V0_ ) + rule ( S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase . S2KfreshBytes ( V0_ : uint256 , V1_ : string ) => #abiCallData ( "freshBytes" , ( #uint256 ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) + ensures #rangeUInt ( 256 , V0_ ) + + rule ( S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase . S2KfreshUInt ( V0_ : uint8 ) => #abiCallData ( "freshUInt" , ( #uint8 ( V0_ ) , .TypedArgs ) ) ) ensures #rangeUInt ( 8 , V0_ ) + rule ( S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase . S2KfreshUInt ( V0_ : uint8 , V1_ : string ) => #abiCallData ( "freshUInt" , ( #uint8 ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) + ensures #rangeUInt ( 8 , V0_ ) + + rule ( S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase . S2KinfiniteGas ( ) => #abiCallData ( "infiniteGas" , .TypedArgs ) ) @@ -5876,6 +5940,10 @@ module S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase-CONTRACT ensures #rangeAddress ( V0_ ) + rule ( S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase . S2KsymbolicStorage ( V0_ : address , V1_ : string ) => #abiCallData ( "symbolicStorage" , ( #address ( V0_ ) , ( #string ( V1_ ) , .TypedArgs ) ) ) ) + ensures #rangeAddress ( V0_ ) + + rule ( selector ( "allowCallsToAddress(address)" ) => 1850795572 ) @@ -5906,15 +5974,27 @@ module S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase-CONTRACT rule ( selector ( "freshAddress()" ) => 2363359817 ) + rule ( selector ( "freshAddress(string)" ) => 1202084987 ) + + rule ( selector ( "freshBool()" ) => 2935720297 ) + rule ( selector ( "freshBool(string)" ) => 525694724 ) + + rule ( selector ( "freshBytes(uint256)" ) => 1389402351 ) + rule ( selector ( "freshBytes(uint256,string)" ) => 390682600 ) + + rule ( selector ( "freshUInt(uint8)" ) => 625253732 ) + rule ( selector ( "freshUInt(uint8,string)" ) => 1530912521 ) + + rule ( selector ( "infiniteGas()" ) => 3986649939 ) @@ -5926,6 +6006,9 @@ module S2KlibZModkontrolZSubcheatcodesZModsrcZModKontrolCheatsBase-CONTRACT rule ( selector ( "symbolicStorage(address)" ) => 769677742 ) + + rule ( selector ( "symbolicStorage(address,string)" ) => 745143816 ) + endmodule @@ -11165,6 +11248,8 @@ module S2KtestZModSymbolicStorageTest-CONTRACT syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestFailZUndSymbolicStorage1" "(" Int ":" "uint256" ")" [symbol("method_test%SymbolicStorageTest_S2KtestFailZUndSymbolicStorage1_uint256")] + syntax S2KtestZModSymbolicStorageTestMethod ::= "S2KtestFailZUndSymbolicStorage1ZUndcustomZUndname" "(" Int ":" "uint256" ")" [symbol("method_test%SymbolicStorageTest_S2KtestFailZUndSymbolicStorage1ZUndcustomZUndname_uint256")] + rule ( S2KtestZModSymbolicStorageTest . S2KISZUndTEST ( ) => #abiCallData ( "IS_TEST" , .TypedArgs ) ) @@ -11210,6 +11295,10 @@ module S2KtestZModSymbolicStorageTest-CONTRACT ensures #rangeUInt ( 256 , V0_slot ) + rule ( S2KtestZModSymbolicStorageTest . S2KtestFailZUndSymbolicStorage1ZUndcustomZUndname ( V0_slot : uint256 ) => #abiCallData ( "testFail_SymbolicStorage1_custom_name" , ( #uint256 ( V0_slot ) , .TypedArgs ) ) ) + ensures #rangeUInt ( 256 , V0_slot ) + + rule ( selector ( "IS_TEST()" ) => 4202047188 ) @@ -11251,6 +11340,9 @@ module S2KtestZModSymbolicStorageTest-CONTRACT rule ( selector ( "testFail_SymbolicStorage1(uint256)" ) => 2899744320 ) + + rule ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) => 3711439179 ) + endmodule From f3439829e0b20838170583a9d20d6a606e650e78 Mon Sep 17 00:00:00 2001 From: Noah Watson Date: Wed, 14 Aug 2024 15:13:20 -0500 Subject: [PATCH 09/21] Fix test --- src/kontrol/prove.py | 168 +++++++++--------- src/kontrol/solc_to_k.py | 2 +- .../test-data/foundry/test/FreshBytes.t.sol | 2 +- 3 files changed, 85 insertions(+), 87 deletions(-) diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index 725789089..48ac40332 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -1,6 +1,5 @@ from __future__ import annotations -import sys import ast import logging import time @@ -366,89 +365,89 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.foundry.call.freshAddressCustomVar'], cut=True) -# # freshBytes -# cheatcode_call_pattern = KSequence( -# [KApply('cheatcode_call', intToken(390682600), KVariable('ARGS')), KVariable('###CONTINUATION')] -# ) -# subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) -# if subst is not None: -# args = subst['ARGS'] -# -# if type(args) is KToken: -# args_bytes = ast.literal_eval(args.token) -# varname_offset = int.from_bytes(args_bytes[32:64], 'big') -# bytes_length = KApply('#range', [args, intToken(0), intToken(32)]) -# else: -# partial_symbolic_args_pattern = KApply( -# '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', -# [KApply('buf', [intToken(32), KVariable('LENGTH')]), KVariable('CONCRETE_VARNAME')], -# ) -# args_subst = partial_symbolic_args_pattern.match(args) -# if args_subst is not None and type(args_subst['CONCRETE_VARNAME']) is KToken: -# args = args_subst['CONCRETE_VARNAME'] -# args_bytes = ast.literal_eval(args.token) -# varname_offset = int.from_bytes(args_bytes[0:32], 'big') - 32 -# bytes_length = KApply('buf', [intToken(32), args_subst['LENGTH']]) -# else: -# _LOGGER.warning( -# 'Custom K variable name specified for freshBytes cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' -# ) -# return None -# -# varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') -# varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') -# varname = varname.upper() -# variable = KVariable(varname) -# -# new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) -# -# output_cell = KApply( -# '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', -# [ -# KEVM.buf(intToken(32), intToken(32)), -# KApply( -# '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', -# [ -# KEVM.buf(intToken(32), KApply('asWord', bytes_length)), -# KApply( -# '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', -# [ -# variable, -# KEVM.buf( -# KApply( -# '_-Int_', -# [ -# KApply( -# '_&Int_', -# [ -# intToken( -# 115792089237316195423570985008687907853269984665640564039457584007913129639904 -# ), -# KApply( -# '_+Int_', [KApply('asWord', bytes_length), intToken(31)] -# ), -# ], -# ), -# KApply('asWord', bytes_length), -# ], -# ), -# intToken(0), -# ), -# ], -# ), -# ], -# ), -# ], -# ) -# -# new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', output_cell)) -# new_cterm = new_cterm.add_constraint( -# mlEqualsTrue( -# eqInt(KApply('lengthBytes(_)_BYTES-HOOKED_Int_Bytes', variable), KApply('asWord', bytes_length)) -# ) -# ) -# -# return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBytesCustomVar'], cut=True) + # freshBytes + cheatcode_call_pattern = KSequence( + [KApply('cheatcode_call', intToken(390682600), KVariable('ARGS')), KVariable('###CONTINUATION')] + ) + subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) + if subst is not None: + args = subst['ARGS'] + + if type(args) is KToken: + args_bytes = ast.literal_eval(args.token) + varname_offset = int.from_bytes(args_bytes[32:64], 'big') + bytes_length = KApply('#range', [args, intToken(0), intToken(32)]) + else: + partial_symbolic_args_pattern = KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [KApply('buf', [intToken(32), KVariable('LENGTH')]), KVariable('CONCRETE_VARNAME')], + ) + args_subst = partial_symbolic_args_pattern.match(args) + if args_subst is not None and type(args_subst['CONCRETE_VARNAME']) is KToken: + args = args_subst['CONCRETE_VARNAME'] + args_bytes = ast.literal_eval(args.token) + varname_offset = int.from_bytes(args_bytes[0:32], 'big') - 32 + bytes_length = KApply('buf', [intToken(32), args_subst['LENGTH']]) + else: + _LOGGER.warning( + 'Custom K variable name specified for freshBytes cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' + ) + return None + + varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') + varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') + varname = varname.upper() + variable = KVariable(varname) + + new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) + + output_cell = KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [ + KEVM.buf(intToken(32), intToken(32)), + KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [ + KEVM.buf(intToken(32), KApply('asWord', bytes_length)), + KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [ + variable, + KEVM.buf( + KApply( + '_-Int_', + [ + KApply( + '_&Int_', + [ + intToken( + 115792089237316195423570985008687907853269984665640564039457584007913129639904 + ), + KApply( + '_+Int_', [KApply('asWord', bytes_length), intToken(31)] + ), + ], + ), + KApply('asWord', bytes_length), + ], + ), + intToken(0), + ), + ], + ), + ], + ), + ], + ) + + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', output_cell)) + new_cterm = new_cterm.add_constraint( + mlEqualsTrue( + eqInt(KApply('lengthBytes(_)_BYTES-HOOKED_Int_Bytes', variable), KApply('asWord', bytes_length)) + ) + ) + + return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBytesCustomVar'], cut=True) # freshBool cheatcode_call_pattern = KSequence( @@ -858,7 +857,6 @@ def method_to_apr_proof( bmc_depth=bmc_depth, proof_dir=foundry.proofs_dir, subproof_ids=summary_ids, - base_module_name=Contract.contract_to_verification_module_name(test.contract.name_with_path) ) return apr_proof diff --git a/src/kontrol/solc_to_k.py b/src/kontrol/solc_to_k.py index f6e1e7ec7..5a016e4a8 100644 --- a/src/kontrol/solc_to_k.py +++ b/src/kontrol/solc_to_k.py @@ -58,7 +58,7 @@ def solc_to_k(options: SolcToKOptions) -> str: ) modules = (contract_module, _main_module) bin_runtime_definition = KDefinition( - "S2KtestZModFreshBytesTest-VERIFICATION", modules, requires=tuple(KRequire(req) for req in ['edsl.md'] + requires) + _main_module.name, modules, requires=tuple(KRequire(req) for req in ['edsl.md'] + requires) ) _kprint = KEVM(definition_dir, extra_unparsing_modules=modules) diff --git a/src/tests/integration/test-data/foundry/test/FreshBytes.t.sol b/src/tests/integration/test-data/foundry/test/FreshBytes.t.sol index 67a5d61be..5191f6dce 100644 --- a/src/tests/integration/test-data/foundry/test/FreshBytes.t.sol +++ b/src/tests/integration/test-data/foundry/test/FreshBytes.t.sol @@ -29,7 +29,7 @@ contract FreshBytesTest is Test, KontrolCheats { function test_symbolic_bytes_1_custom_name() public { uint256 length = uint256(kevm.freshUInt(1)); - vm.assume (0 < length); + vm.assume (36 < length); vm.assume (length <= length_limit); bytes memory fresh_bytes = kevm.freshBytes(length, "cdefg"); uint256 index = uint256(kevm.freshUInt(1)); From 32a21679de8fbe4d4cf2d690720d04f63761d5ea Mon Sep 17 00:00:00 2001 From: Noah Watson Date: Wed, 14 Aug 2024 15:43:59 -0500 Subject: [PATCH 10/21] Update expected output --- ...st_symbolic_bytes_1_custom_name().expected | 3749 +++++++++++++++++ ...olicStorage1_custom_name(uint256).expected | 24 +- 2 files changed, 3761 insertions(+), 12 deletions(-) create mode 100644 src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected diff --git a/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected b/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected new file mode 100644 index 000000000..683c6f916 --- /dev/null +++ b/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected @@ -0,0 +1,3749 @@ + +┌─ 1 (root, init) +│ k: #execute ~> CONTINUATION:K +│ pc: 0 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (333 steps) +├─ 3 +│ k: CALL 0 645326474426547203313410069153905908525362434349 0 128 36 128 32 ~> #pc [ ... +│ pc: 618 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (1 step) +├─ 4 +│ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... +│ pc: 618 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (448 steps) +├─ 5 +│ k: STATICCALL 0 645326474426547203313410069153905908525362434349 160 36 160 0 ~> #p ... +│ pc: 747 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (1 step) +├─ 6 +│ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... +│ pc: 747 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (274 steps) +├─ 7 +│ k: STATICCALL 0 645326474426547203313410069153905908525362434349 160 36 160 0 ~> #p ... +│ pc: 843 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (1 step) +├─ 8 +│ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... +│ pc: 843 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (284 steps) +├─ 9 +│ k: CALL 0 645326474426547203313410069153905908525362434349 0 160 132 160 0 ~> #pc [ ... +│ pc: 957 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (1 step) +├─ 10 +│ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... +│ pc: 957 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (2 steps) +├─ 11 +│ k: #cheatcode_call selector ( "freshBytes(uint256,string)" ) #buf ( 32 , ?WORD:Int ... +│ pc: 957 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (1 step) +├─ 12 +│ k: #cheatcode_return 160 0 ~> #pc [ CALL ] ~> #execute ~> CONTINUATION:K +│ pc: 957 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (853 steps) +├─ 13 +│ k: CALL 0 645326474426547203313410069153905908525362434349 0 ( ( ( notMaxUInt5 &Int ... +│ pc: 1079 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (1 step) +├─ 14 +│ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... +│ pc: 1079 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (448 steps) +├─ 15 +│ k: STATICCALL 0 645326474426547203313410069153905908525362434349 ( ( ( notMaxUInt5 ... +│ pc: 1208 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (1 step) +├─ 16 +│ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... +│ pc: 1208 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (3 steps) +└─ 17 (vacuous, leaf) + k: #assume ( lengthBytes ( ?BYTES:Bytes ) #c ... + pc: 1208 + callDepth: 0 + statusCode: STATUSCODE:StatusCode + method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() + + +┌─ 2 (root, leaf, target, terminal) +│ k: #halt ~> CONTINUATION:K +│ pc: PC_CELL_5d410f2a:Int +│ callDepth: CALLDEPTH_CELL_5d410f2a:Int +│ statusCode: STATUSCODE_FINAL:StatusCode + + + +module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 + + + rule [BASIC-BLOCK-1-TO-3]: + + + ( .K => CALL 0 645326474426547203313410069153905908525362434349 0 128 36 128 32 + ~> #pc [ CALL ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( .WordStack => ( 164 : ( selector ( "freshUInt(uint8)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" ) + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + .Set + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( ORIGIN_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( _C_FRESHBYTESTEST_ID =/=Int 645326474426547203313410069153905908525362434349 + andBool ( CALLER_ID:Int + + + ( CALL 0 645326474426547203313410069153905908525362434349 0 128 36 128 32 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" false + ~> #return 128 32 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( 164 : ( selector ( "freshUInt(uint8)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + .Set + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" false + ~> #return 128 32 + ~> #pc [ CALL ] => STATICCALL 0 645326474426547203313410069153905908525362434349 160 36 160 0 + ~> #pc [ STATICCALL ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( b"" => #buf ( 32 , ??WORD ) ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( ( 164 => 196 ) : ( ( selector ( "freshUInt(uint8)" ) => selector ( "assume(bool)" ) ) : ( 645326474426547203313410069153905908525362434349 : ( ( 0 => ??WORD ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 , ??WORD ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( 36 + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + ( .Set => SetItem ( 645326474426547203313410069153905908525362434349 ) ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( STATICCALL 0 645326474426547203313410069153905908525362434349 160 36 160 0 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( 36 #return 160 0 ) + ~> #pc [ STATICCALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + #buf ( 32 , ?WORD:Int ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( 196 : ( selector ( "assume(bool)" ) : ( 645326474426547203313410069153905908525362434349 : ( ?WORD:Int : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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 , ?WORD:Int ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( 36 + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int ?WORD:Int + andBool ( ?WORD:Int + + + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( 36 #return 160 0 => STATICCALL 0 645326474426547203313410069153905908525362434349 160 36 160 0 ~> .K ) + ~> #pc [ STATICCALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( #buf ( 32 , ?WORD:Int ) => b"" ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( 196 : ( selector ( "assume(bool)" ) : ( 645326474426547203313410069153905908525362434349 : ( ?WORD:Int : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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 , ?WORD:Int ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ( 36 ?WORD:Int <=Int 72 ) ) ) + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int ?WORD:Int + andBool ( ?WORD:Int + + + ( STATICCALL 0 645326474426547203313410069153905908525362434349 160 36 160 0 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ?WORD:Int <=Int 72 ) ) true + ~> #return 160 0 ) + ~> #pc [ STATICCALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( 196 : ( selector ( "assume(bool)" ) : ( 645326474426547203313410069153905908525362434349 : ( ?WORD:Int : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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 , ?WORD:Int ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ?WORD:Int <=Int 72 ) ) + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int ?WORD:Int + andBool ( 36 + + + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ?WORD:Int <=Int 72 ) ) true + ~> #return 160 0 + ~> #pc [ STATICCALL ] => CALL 0 645326474426547203313410069153905908525362434349 0 160 132 160 0 + ~> #pc [ CALL ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( ( 196 => 292 ) : ( ( selector ( "assume(bool)" ) => selector ( "freshBytes(uint256,string)" ) ) : ( 645326474426547203313410069153905908525362434349 : ( ( ?WORD:Int => 0 ) : ( ( 280 => ?WORD:Int ) : ( ( selector ( "test_symbolic_bytes_1_custom_name()" ) => 280 ) : ( .WordStack => ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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 , ?WORD:Int ) +Bytes ( b"Lc\xe5b" => b"\x17IW\xe8" ) +Bytes ( #buf ( 32 , bool2Word ( ?WORD:Int <=Int 72 ) ) => #buf ( 32 , ?WORD:Int ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05cdefg\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int ?WORD:Int + andBool ( 36 + + + ( CALL 0 645326474426547203313410069153905908525362434349 0 160 132 160 0 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"\x17IW\xe8" +Bytes #buf ( 32 , ?WORD:Int ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05cdefg\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" false + ~> #return 160 0 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( 292 : ( selector ( "freshBytes(uint256,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( ?WORD:Int : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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 , ?WORD:Int ) +Bytes b"\x17IW\xe8" +Bytes #buf ( 32 , ?WORD:Int ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05cdefg\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int ?WORD:Int + andBool ( 36 + + + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"\x17IW\xe8" +Bytes #buf ( 32 , ?WORD:Int ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05cdefg\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" false + ~> #return 160 0 => #cheatcode_call selector ( "freshBytes(uint256,string)" ) #buf ( 32 , ?WORD:Int ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05cdefg\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" + ~> #cheatcode_return 160 0 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( 292 : ( selector ( "freshBytes(uint256,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( ?WORD:Int : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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 , ?WORD:Int ) +Bytes b"\x17IW\xe8" +Bytes #buf ( 32 , ?WORD:Int ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05cdefg\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int ?WORD:Int + andBool ( 36 + + + ( #cheatcode_call selector ( "freshBytes(uint256,string)" ) #buf ( 32 , ?WORD:Int ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05cdefg\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ~> .K => .K ) + ~> #cheatcode_return 160 0 + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( 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 " +Bytes #buf ( 32 , lengthBytes ( ??BYTES ) ) +Bytes ??BYTES +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ??BYTES ) +Int maxUInt5 ) ) -Int lengthBytes ( ??BYTES ) ) , 0 ) ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( 292 : ( selector ( "freshBytes(uint256,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( ( ?WORD:Int => lengthBytes ( ??BYTES ) ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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 , ( ?WORD:Int => lengthBytes ( ??BYTES ) ) ) +Bytes b"\x17IW\xe8" +Bytes #buf ( 32 , ( ?WORD:Int => lengthBytes ( ??BYTES ) ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05cdefg\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int ?WORD:Int + andBool ( 36 + + + ( #cheatcode_return 160 0 => CALL 0 645326474426547203313410069153905908525362434349 0 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 36 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 32 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"\x00\x00\x00\x00\x00\x00\x00\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 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( ( 292 => ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 292 ) ) : ( ( selector ( "freshBytes(uint256,string)" ) => selector ( "freshUInt(uint8)" ) ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( ( lengthBytes ( ?BYTES:Bytes ) => ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) ) : ( ( 280 => lengthBytes ( ?BYTES:Bytes ) ) : ( ( selector ( "test_symbolic_bytes_1_custom_name()" ) => 280 ) : ( .WordStack => ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 , ( lengthBytes ( ?BYTES:Bytes ) => ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) ) ) +Bytes ( b"\x17IW\xe8" => b"\x00\x00\x00\x00\x00\x00\x00\x00\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 , lengthBytes ( ?BYTES:Bytes ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05cdefg\x00\x00\x00\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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" ) + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + andBool ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( CALL 0 645326474426547203313410069153905908525362434349 0 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 36 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 32 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" false + ~> #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 32 ) + ~> #pc [ CALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"\x00\x00\x00\x00\x00\x00\x00\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 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 292 ) : ( selector ( "freshUInt(uint8)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + andBool ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" false + ~> #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 32 + ~> #pc [ CALL ] => STATICCALL 0 645326474426547203313410069153905908525362434349 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 36 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 + ~> #pc [ STATICCALL ] ) + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( b"\x00\x00\x00\x00\x00\x00\x00\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 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) => #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int ( 292 => 324 ) ) : ( ( selector ( "freshUInt(uint8)" ) => selector ( "assume(bool)" ) ) : ( 645326474426547203313410069153905908525362434349 : ( ( 0 => lengthBytes ( ?BYTES:Bytes ) ) : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int ( 256 => 288 ) ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes ( b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" => #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( lengthBytes ( ?BYTES:Bytes ) + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + andBool ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( STATICCALL 0 645326474426547203313410069153905908525362434349 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 36 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( lengthBytes ( ?BYTES:Bytes ) #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 ) + ~> #pc [ STATICCALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 324 ) : ( selector ( "assume(bool)" ) : ( 645326474426547203313410069153905908525362434349 : ( lengthBytes ( ?BYTES:Bytes ) : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( lengthBytes ( ?BYTES:Bytes ) + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + andBool ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int + + + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( lengthBytes ( ?BYTES:Bytes ) #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 => #assume ( lengthBytes ( ?BYTES:Bytes ) #cheatcode_return ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 ) + ~> #pc [ STATICCALL ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + ( #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) => b"" ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 324 ) : ( selector ( "assume(bool)" ) : ( 645326474426547203313410069153905908525362434349 : ( lengthBytes ( ?BYTES:Bytes ) : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( lengthBytes ( ?BYTES:Bytes ) + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + andBool ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int - ( b"" => b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" ) + ( b"" => b"`\x80`@R`\x00\x80\xfd\xfe\xa1dsolcC\x00\x08\r\x00\n" ) ( .List => ListItem ( @@ -231,7 +231,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI ( 0 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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`@Ra\x059`\x00U4\x80\x15`\x15W`\x00\x80\xfd[P`?\x80`#`\x009`\x00\xf3\xfe`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x80`@Ra\x059`\x00U4\x80\x15`\x15W`\x00\x80\xfd[P`\x16\x80`#`\x009`\x00\xf3\xfe`\x80`@R`\x00\x80\xfd\xfe\xa1dsolcC\x00\x08\r\x00\n" 0 @@ -330,7 +330,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI .WordStack - ( b"" => b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003\x00\x00\x00\x00\x00\x00\x00\x00\x00\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"" => b"`\x80`@R`\x00\x80\xfd\xfe\xa1dsolcC\x00\x08\r\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 @@ -582,7 +582,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI - b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" + b"`\x80`@R`\x00\x80\xfd\xfe\xa1dsolcC\x00\x08\r\x00\n" ( _STATUSCODE => EVMC_SUCCESS ) @@ -605,7 +605,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI ( 0 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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`@Ra\x059`\x00U4\x80\x15`\x15W`\x00\x80\xfd[P`?\x80`#`\x009`\x00\xf3\xfe`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x80`@Ra\x059`\x00U4\x80\x15`\x15W`\x00\x80\xfd[P`\x16\x80`#`\x009`\x00\xf3\xfe`\x80`@R`\x00\x80\xfd\xfe\xa1dsolcC\x00\x08\r\x00\n" 0 @@ -704,7 +704,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI .WordStack - b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003\x00\x00\x00\x00\x00\x00\x00\x00\x00\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`@R`\x00\x80\xfd\xfe\xa1dsolcC\x00\x08\r\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 @@ -936,7 +936,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI - b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" + b"`\x80`@R`\x00\x80\xfd\xfe\xa1dsolcC\x00\x08\r\x00\n" EVMC_SUCCESS @@ -959,7 +959,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI ( 0 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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`@Ra\x059`\x00U4\x80\x15`\x15W`\x00\x80\xfd[P`?\x80`#`\x009`\x00\xf3\xfe`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x80`@Ra\x059`\x00U4\x80\x15`\x15W`\x00\x80\xfd[P`\x16\x80`#`\x009`\x00\xf3\xfe`\x80`@R`\x00\x80\xfd\xfe\xa1dsolcC\x00\x08\r\x00\n" 0 @@ -1058,7 +1058,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI .WordStack - b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003\x00\x00\x00\x00\x00\x00\x00\x00\x00\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`@R`\x00\x80\xfd\xfe\xa1dsolcC\x00\x08\r\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 @@ -1289,7 +1289,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI - ( b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" => b"" ) + ( b"`\x80`@R`\x00\x80\xfd\xfe\xa1dsolcC\x00\x08\r\x00\n" => b"" ) EVMC_SUCCESS @@ -1312,7 +1312,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI ( 0 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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`@Ra\x059`\x00U4\x80\x15`\x15W`\x00\x80\xfd[P`?\x80`#`\x009`\x00\xf3\xfe`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x80\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00`\x80`@Ra\x059`\x00U4\x80\x15`\x15W`\x00\x80\xfd[P`\x16\x80`#`\x009`\x00\xf3\xfe`\x80`@R`\x00\x80\xfd\xfe\xa1dsolcC\x00\x08\r\x00\n" 0 @@ -1411,7 +1411,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI ( .WordStack => ( 260 : ( selector ( "symbolicStorage(address,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .WordStack ) ) ) ) ) ) ) ) - ( b"`\x80`@R`\x00\x80\xfd\xfe\xa2dipfsX\"\x12 \x94\xfd\xf7`>\x9f\xc2\x9e\xf9_\x96\xfb'Z\xaeil\x9e(\x07\x92\xf3\xe4\xa2\xcf.\xb6\x91\x87g\x04\x0fdsolcC\x00\x08\r\x003\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,i\xfe\x08\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/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) + ( b"`\x80`@R`\x00\x80\xfd\xfe\xa1dsolcC\x00\x08\r\x00\n\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00,i\xfe\x08\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/\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 From f06b827fc21399de04b9514fd347a555824fa065 Mon Sep 17 00:00:00 2001 From: Noah Watson Date: Thu, 15 Aug 2024 19:49:16 -0500 Subject: [PATCH 11/21] Fix freshBool --- src/kontrol/prove.py | 4 +- ...heatcodes.test_bool_custom_name().expected | 560 ++++++++++++++++-- 2 files changed, 528 insertions(+), 36 deletions(-) diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index 48ac40332..f5c7d53bb 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -470,8 +470,8 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', KEVM.buf(intToken(32), variable))) - new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(intToken(0), variable))) - new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(variable, intToken(1)))) + new_cterm = new_cterm.add_constraint(mlEqualsTrue(leInt(intToken(0), variable))) + new_cterm = new_cterm.add_constraint(mlEqualsTrue(leInt(variable, intToken(1)))) return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBoolCustomVar'], cut=True) diff --git a/src/tests/integration/test-data/show/FreshCheatcodes.test_bool_custom_name().expected b/src/tests/integration/test-data/show/FreshCheatcodes.test_bool_custom_name().expected index 299bf02af..6dca3655a 100644 --- a/src/tests/integration/test-data/show/FreshCheatcodes.test_bool_custom_name().expected +++ b/src/tests/integration/test-data/show/FreshCheatcodes.test_bool_custom_name().expected @@ -38,20 +38,38 @@ │ statusCode: STATUSCODE:StatusCode │ method: test%FreshCheatcodes.test_bool_custom_name() │ -│ (378 steps) -└─ 7 (vacuous, leaf) - k: JUMPI 954 bool2Word ( #asWord ( #buf ( 32 , BCDEF:Int ) +Bytes b"" ) <=Int 1 ) ~ ... - pc: 4331 - callDepth: 0 - statusCode: STATUSCODE:StatusCode - method: test%FreshCheatcodes.test_bool_custom_name() - - -┌─ 2 (root, leaf, target, terminal) +│ (446 steps) +├─ 7 +│ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K +│ pc: 336 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshCheatcodes.test_bool_custom_name() +│ +│ (1 step) +├─ 8 +│ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K +│ pc: 336 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%FreshCheatcodes.test_bool_custom_name() +│ +│ (2 steps) +├─ 9 (terminal) │ k: #halt ~> CONTINUATION:K -│ pc: PC_CELL_5d410f2a:Int -│ callDepth: CALLDEPTH_CELL_5d410f2a:Int -│ statusCode: STATUSCODE_FINAL:StatusCode +│ pc: 336 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%FreshCheatcodes.test_bool_custom_name() +│ +┊ constraint: true +┊ subst: OMITTED SUBST +└─ 2 (leaf, target, terminal) + k: #halt ~> CONTINUATION:K + pc: PC_CELL_5d410f2a:Int + callDepth: CALLDEPTH_CELL_5d410f2a:Int + statusCode: STATUSCODE_FINAL:StatusCode + @@ -513,13 +531,13 @@ module SUMMARY-TEST%FRESHCHEATCODES.TEST-BOOL-CUSTOM-NAME():0 andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int NUMBER_CELL:Int andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( ORIGIN_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( _C_FRESHCHEATCODES_ID =/=Int 645326474426547203313410069153905908525362434349 andBool ( CALLER_ID:Int ( #cheatcode_return 128 32 - ~> #pc [ CALL ] => JUMPI 954 bool2Word ( #asWord ( #buf ( 32 , BCDEF:Int ) +Bytes b"" ) <=Int 1 ) - ~> #pc [ JUMPI ] ) + ~> #pc [ CALL ] => #end EVMC_SUCCESS + ~> #pc [ STOP ] ) ~> #execute ~> _CONTINUATION @@ -1018,7 +1036,7 @@ module SUMMARY-TEST%FRESHCHEATCODES.TEST-BOOL-CUSTOM-NAME():0 - #buf ( 32 , BCDEF ) + ( #buf ( 32 , BCDEF ) => b"" ) .List @@ -1043,7 +1061,7 @@ module SUMMARY-TEST%FRESHCHEATCODES.TEST-BOOL-CUSTOM-NAME():0 0 - ( ( 228 => 1 ) : ( ( selector ( "freshBool(string)" ) => #asWord ( #buf ( 32 , BCDEF:Int ) +Bytes b"" ) ) : ( ( 645326474426547203313410069153905908525362434349 => 1230 ) : ( ( 0 => #asWord ( #buf ( 32 , BCDEF:Int ) +Bytes b"" ) ) : ( 335 : ( selector ( "test_bool_custom_name()" ) : .WordStack ) ) ) ) ) ) + ( ( 228 => selector ( "test_bool_custom_name()" ) ) : ( ( selector ( "freshBool(string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 335 : ( selector ( "test_bool_custom_name()" ) : .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\x1fUw\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05bcdef\x00\x00\x00\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 , BCDEF:Int ) +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\x00\x00\x05bcdef\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) @@ -1214,26 +1232,500 @@ module SUMMARY-TEST%FRESHCHEATCODES.TEST-BOOL-CUSTOM-NAME():0 - requires ( 0 + + + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ STOP ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + ( _STATUSCODE => EVMC_SUCCESS ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xb0\xe0&\x02" + + + 0 + + + ( selector ( "test_bool_custom_name()" ) : .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 , BCDEF:Int ) +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\x00\x00\x05bcdef\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int BCDEF:Int + andBool ( BCDEF:Int <=Int 1 andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int NUMBER_CELL:Int andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( CALLER_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( ORIGIN_ID:Int =/=Int 645326474426547203313410069153905908525362434349 + andBool ( _C_FRESHCHEATCODES_ID =/=Int 645326474426547203313410069153905908525362434349 andBool ( CALLER_ID:Int + + + #halt + ~> ( #pc [ STOP ] + ~> #execute => .K ) + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + EVMC_SUCCESS + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\xb0\xe0&\x02" + + + 0 + + + ( selector ( "test_bool_custom_name()" ) : .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 , BCDEF:Int ) +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\x00\x00\x05bcdef\x00\x00\x00\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 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + .Map + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( 0 <=Int BCDEF:Int + andBool ( BCDEF:Int <=Int 1 + andBool ( 0 <=Int CALLER_ID:Int + andBool ( 0 <=Int ORIGIN_ID:Int + andBool ( 0 <=Int NUMBER_CELL:Int + andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( CALLER_ID:Int =/=Int 645326474426547203313410069153905908525362434349 andBool ( ORIGIN_ID:Int =/=Int 645326474426547203313410069153905908525362434349 andBool ( _C_FRESHCHEATCODES_ID =/=Int 645326474426547203313410069153905908525362434349 + andBool ( CALLER_ID:Int Date: Thu, 15 Aug 2024 20:18:24 -0500 Subject: [PATCH 12/21] Fix test disambiguation, update symbolic_bytes_custom_name expected --- .../integration/test-data/foundry-prove-all | 2 +- ...st_symbolic_bytes_1_custom_name().expected | 600 ++++++++++++++++-- 2 files changed, 543 insertions(+), 59 deletions(-) diff --git a/src/tests/integration/test-data/foundry-prove-all b/src/tests/integration/test-data/foundry-prove-all index e53dbc295..b5d440e17 100644 --- a/src/tests/integration/test-data/foundry-prove-all +++ b/src/tests/integration/test-data/foundry-prove-all @@ -347,7 +347,7 @@ IntTypeTest.test_uint64(uint64) IntTypeTest.test_uint64_fail(uint64) StructTypeTest.test_vars((uint8,uint32,bytes32)) WarpTest.test_warp_setup() -FreshBytesTest.test_symbolic_bytes_1 +FreshBytesTest.test_symbolic_bytes_1() FreshBytesTest.test_symbolic_bytes_3 FreshBytesTest.test_symbolic_bytes_length FreshBytesTest.test_symbolic_bytes_1_custom_name() diff --git a/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected b/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected index 683c6f916..833bdaf3b 100644 --- a/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected +++ b/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected @@ -118,20 +118,38 @@ │ statusCode: STATUSCODE:StatusCode │ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() │ -│ (3 steps) -└─ 17 (vacuous, leaf) - k: #assume ( lengthBytes ( ?BYTES:Bytes ) #c ... - pc: 1208 - callDepth: 0 - statusCode: STATUSCODE:StatusCode - method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() - - -┌─ 2 (root, leaf, target, terminal) +│ (422 steps) +├─ 17 +│ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K +│ pc: 281 +│ callDepth: 0 +│ statusCode: STATUSCODE:StatusCode +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (1 step) +├─ 18 +│ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K +│ pc: 281 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +│ (2 steps) +├─ 19 (terminal) │ k: #halt ~> CONTINUATION:K -│ pc: PC_CELL_5d410f2a:Int -│ callDepth: CALLDEPTH_CELL_5d410f2a:Int -│ statusCode: STATUSCODE_FINAL:StatusCode +│ pc: 281 +│ callDepth: 0 +│ statusCode: EVMC_SUCCESS +│ method: test%FreshBytesTest.test_symbolic_bytes_1_custom_name() +│ +┊ constraint: true +┊ subst: OMITTED SUBST +└─ 2 (leaf, target, terminal) + k: #halt ~> CONTINUATION:K + pc: PC_CELL_5d410f2a:Int + callDepth: CALLDEPTH_CELL_5d410f2a:Int + statusCode: STATUSCODE_FINAL:StatusCode + @@ -2752,12 +2770,6 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 9 ) ) andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 9 ) ) ))))))))))))))))) - ensures ( lengthBytes ( ?BYTES:Bytes ) @@ -2991,17 +3003,12 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 andBool ( 36 @@ -3028,7 +3035,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - ( b"\x00\x00\x00\x00\x00\x00\x00\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 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) => #buf ( 32 , lengthBytes ( ?BYTES: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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) => #buf ( 32 , ??WORD0 ) ) .List @@ -3053,10 +3060,10 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 0 - ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int ( 292 => 324 ) ) : ( ( selector ( "freshUInt(uint8)" ) => selector ( "assume(bool)" ) ) : ( 645326474426547203313410069153905908525362434349 : ( ( 0 => lengthBytes ( ?BYTES:Bytes ) ) : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .WordStack ) ) ) ) ) ) ) ) + ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int ( 292 => 324 ) ) : ( ( selector ( "freshUInt(uint8)" ) => selector ( "assume(bool)" ) ) : ( 645326474426547203313410069153905908525362434349 : ( ( 0 => ??WORD0 ) : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int ( 256 => 288 ) ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes ( b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" => #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( lengthBytes ( ?BYTES:Bytes ) 288 ) ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes ( b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" => #buf ( 32 , ??WORD0 ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ??WORD0 0 @@ -3236,17 +3243,15 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 andBool ( 36 @@ -3254,7 +3259,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 ( STATICCALL 0 645326474426547203313410069153905908525362434349 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 36 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 728815563385977040452943777879061427756277306518 0 - ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( lengthBytes ( ?BYTES:Bytes ) #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ?WORD0:Int #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 ) ~> #pc [ STATICCALL ] ~> #execute @@ -3272,7 +3277,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) + #buf ( 32 , ?WORD0:Int ) .List @@ -3297,10 +3302,10 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 0 - ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 324 ) : ( selector ( "assume(bool)" ) : ( 645326474426547203313410069153905908525362434349 : ( lengthBytes ( ?BYTES:Bytes ) : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .WordStack ) ) ) ) ) ) ) ) + ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 324 ) : ( selector ( "assume(bool)" ) : ( 645326474426547203313410069153905908525362434349 : ( ?WORD0:Int : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( lengthBytes ( ?BYTES:Bytes ) 0 @@ -3469,6 +3474,8 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + andBool ( 0 <=Int ?WORD0:Int + andBool ( ?WORD0:Int @@ -3498,10 +3500,10 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 ( #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 728815563385977040452943777879061427756277306518 0 - ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( lengthBytes ( ?BYTES:Bytes ) #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 => #assume ( lengthBytes ( ?BYTES:Bytes ) #cheatcode_return ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 ) - ~> #pc [ STATICCALL ] + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ?WORD0:Int #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 + ~> #pc [ STATICCALL ] => #end EVMC_SUCCESS + ~> #pc [ STOP ] ) ~> #execute ~> _CONTINUATION @@ -3517,7 +3519,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - ( #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) => b"" ) + ( #buf ( 32 , ?WORD0:Int ) => b"" ) .List @@ -3542,10 +3544,10 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 0 - ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 324 ) : ( selector ( "assume(bool)" ) : ( 645326474426547203313410069153905908525362434349 : ( lengthBytes ( ?BYTES:Bytes ) : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .WordStack ) ) ) ) ) ) ) ) + ( ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 324 ) => selector ( "test_symbolic_bytes_1_custom_name()" ) ) : ( ( selector ( "assume(bool)" ) : ( 645326474426547203313410069153905908525362434349 : ( ?WORD0:Int : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( lengthBytes ( ?BYTES:Bytes ) b"Lc\xe5b\x00\x00\x00\x00\x00\x00\x00\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" ) 0 @@ -3621,7 +3623,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 0 - .Map + ( .Map => ( 27 |-> #asWord ( #range ( ?BYTES:Bytes , ?WORD0:Int , 1 ) ) ) ) .Map @@ -3714,6 +3716,8 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + andBool ( 0 <=Int ?WORD0:Int + andBool ( ?WORD0:Int + + + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ STOP ] + ~> #execute + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + ( _STATUSCODE => EVMC_SUCCESS ) + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , ?WORD0:Int ) +Bytes b"Lc\xe5b\x00\x00\x00\x00\x00\x00\x00\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" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + ( 27 |-> #asWord ( #range ( ?BYTES:Bytes , ?WORD0:Int , 1 ) ) ) + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + andBool ( 0 <=Int ?WORD0:Int + andBool ( ?WORD0:Int + + + #halt + ~> ( #pc [ STOP ] + ~> #execute => .K ) + ~> _CONTINUATION + + + NORMAL + + + SHANGHAI + + + false + + + + + b"" + + + EVMC_SUCCESS + + + .List + + + .List + + + .Set + + + + 728815563385977040452943777879061427756277306518 + + + CALLER_ID:Int + + + b"\x1e\x0e\xdc\xcc" + + + 0 + + + ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , ?WORD0:Int ) +Bytes b"Lc\xe5b\x00\x00\x00\x00\x00\x00\x00\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" + + + 0 + + + 0 + + + false + + + 0 + + ... + + + + .List + + + 0 + + + SetItem ( 645326474426547203313410069153905908525362434349 ) + + + .Map + + ... + + + ORIGIN_ID:Int + + + + NUMBER_CELL:Int + + + TIMESTAMP_CELL:Int + + ... + + ... + + + + ( + + 645326474426547203313410069153905908525362434349 + + + 0 + + + .Map + + + .Map + + + .Map + + + 0 + + ... + + + + 728815563385977040452943777879061427756277306518 + + + 0 + + + ( 27 |-> #asWord ( #range ( ?BYTES:Bytes , ?WORD0:Int , 1 ) ) ) + + + .Map + + + .Map + + + 1 + + ... + ) + + ... + + + ... + + + + + false + + + false + + ... + + + + false + + ... + + + + false + + ... + + + + false + + + false + + ... + + + + false + + + false + + + .List + + + .List + + + + .MockCallCellMap + + + .MockFunctionCellMap + + + + + false + + + false + + + false + + + false + + + false + + + .List + + + + requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + andBool ( 0 <=Int ?WORD0:Int + andBool ( ?WORD0:Int Date: Thu, 15 Aug 2024 23:13:15 -0500 Subject: [PATCH 13/21] Update expected output --- ...heatcodes.test_bool_custom_name().expected | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/src/tests/integration/test-data/show/FreshCheatcodes.test_bool_custom_name().expected b/src/tests/integration/test-data/show/FreshCheatcodes.test_bool_custom_name().expected index 6dca3655a..2d4d270d8 100644 --- a/src/tests/integration/test-data/show/FreshCheatcodes.test_bool_custom_name().expected +++ b/src/tests/integration/test-data/show/FreshCheatcodes.test_bool_custom_name().expected @@ -531,13 +531,13 @@ module SUMMARY-TEST%FRESHCHEATCODES.TEST-BOOL-CUSTOM-NAME():0 andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int NUMBER_CELL:Int andBool ( 0 <=Int TIMESTAMP_CELL:Int - andBool ( CALLER_ID:Int =/=Int 645326474426547203313410069153905908525362434349 - andBool ( ORIGIN_ID:Int =/=Int 645326474426547203313410069153905908525362434349 - andBool ( _C_FRESHCHEATCODES_ID =/=Int 645326474426547203313410069153905908525362434349 andBool ( CALLER_ID:Int Date: Fri, 16 Aug 2024 09:43:38 -0500 Subject: [PATCH 14/21] Update test_address_custom_name --- .../FreshCheatcodes.test_address_custom_name().expected | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/tests/integration/test-data/show/FreshCheatcodes.test_address_custom_name().expected b/src/tests/integration/test-data/show/FreshCheatcodes.test_address_custom_name().expected index 244ff148e..869e3a7d8 100644 --- a/src/tests/integration/test-data/show/FreshCheatcodes.test_address_custom_name().expected +++ b/src/tests/integration/test-data/show/FreshCheatcodes.test_address_custom_name().expected @@ -1256,9 +1256,8 @@ module SUMMARY-TEST%FRESHCHEATCODES.TEST-ADDRESS-CUSTOM-NAME():0 andBool ( ABCDEFG:Int @@ -1495,11 +1494,10 @@ module SUMMARY-TEST%FRESHCHEATCODES.TEST-ADDRESS-CUSTOM-NAME():0 andBool ( CALLER_ID:Int =/=Int 645326474426547203313410069153905908525362434349 andBool ( ORIGIN_ID:Int =/=Int 645326474426547203313410069153905908525362434349 andBool ( _C_FRESHCHEATCODES_ID =/=Int 645326474426547203313410069153905908525362434349 - andBool ( 0 =/=Int chop ( ( ABCDEFG:Int +Int -645326474426547203313410069153905908525362434349 ) ) andBool ( 0 =/=Int chop ( ( ABCDEFG:Int +Int -728815563385977040452943777879061427756277306518 ) ) andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 9 ) ) andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 9 ) ) - ))))))))))))))))))) + )))))))))))))))))) [priority(20), label(BASIC-BLOCK-7-TO-8)] rule [BASIC-BLOCK-8-TO-9]: @@ -1736,11 +1734,10 @@ module SUMMARY-TEST%FRESHCHEATCODES.TEST-ADDRESS-CUSTOM-NAME():0 andBool ( CALLER_ID:Int =/=Int 645326474426547203313410069153905908525362434349 andBool ( ORIGIN_ID:Int =/=Int 645326474426547203313410069153905908525362434349 andBool ( _C_FRESHCHEATCODES_ID =/=Int 645326474426547203313410069153905908525362434349 - andBool ( 0 =/=Int chop ( ( ABCDEFG:Int +Int -645326474426547203313410069153905908525362434349 ) ) andBool ( 0 =/=Int chop ( ( ABCDEFG:Int +Int -728815563385977040452943777879061427756277306518 ) ) andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 9 ) ) andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 9 ) ) - ))))))))))))))))))) + )))))))))))))))))) [priority(20), label(BASIC-BLOCK-8-TO-9)] endmodule From 38496daf4807acf5d5cb569f1e15a626daeae50e Mon Sep 17 00:00:00 2001 From: Noah Watson <107630091+nwatson22@users.noreply.github.com> Date: Fri, 16 Aug 2024 16:03:15 -0500 Subject: [PATCH 15/21] Update src/kontrol/solc_to_k.py --- src/kontrol/solc_to_k.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/kontrol/solc_to_k.py b/src/kontrol/solc_to_k.py index 5a016e4a8..f2296fab1 100644 --- a/src/kontrol/solc_to_k.py +++ b/src/kontrol/solc_to_k.py @@ -1102,8 +1102,6 @@ def solc_compile(contract_file: Path) -> dict[str, Any]: } try: - process_res = run_process_2(['solc-select', 'install', '0.8.13'], logger=_LOGGER, input=json.dumps(args)) - process_res = run_process_2(['solc-select', 'use', '0.8.13'], logger=_LOGGER, input=json.dumps(args)) process_res = run_process_2(['solc', '--standard-json'], logger=_LOGGER, input=json.dumps(args)) except CalledProcessError as err: raise RuntimeError('solc error', err.stdout, err.stderr) from err From eecdc053ca0cc7683140cbf9a884db5a33a6b913 Mon Sep 17 00:00:00 2001 From: Noah Watson <107630091+nwatson22@users.noreply.github.com> Date: Mon, 19 Aug 2024 08:36:49 -0500 Subject: [PATCH 16/21] Update src/tests/integration/conftest.py --- src/tests/integration/conftest.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/tests/integration/conftest.py b/src/tests/integration/conftest.py index 8cf21751a..cb612fe3f 100644 --- a/src/tests/integration/conftest.py +++ b/src/tests/integration/conftest.py @@ -71,8 +71,7 @@ def foundry(foundry_root_dir: Path | None, tmp_path_factory: TempPathFactory, wo ['forge', 'install', '--no-git', f'runtimeverification/kontrol-cheatcodes@{KONTROL_CHEATCODES_REF}'], cwd=foundry_root, ) - res = run_process_2(['forge', 'build'], cwd=foundry_root, check=False) - print(res.stderr) + run_process_2(['forge', 'build'], cwd=foundry_root) foundry_kompile( BuildOptions( From aec422678e8ea45307273759f70cf4be7e5de13b Mon Sep 17 00:00:00 2001 From: Noah Watson Date: Mon, 19 Aug 2024 11:07:30 -0500 Subject: [PATCH 17/21] Fix indentation issue --- src/kontrol/prove.py | 144 ++++++++-------- ...st_symbolic_bytes_1_custom_name().expected | 157 +++++++++--------- 2 files changed, 155 insertions(+), 146 deletions(-) diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index f5c7d53bb..90699b4db 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -365,89 +365,89 @@ def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.foundry.call.freshAddressCustomVar'], cut=True) - # freshBytes - cheatcode_call_pattern = KSequence( - [KApply('cheatcode_call', intToken(390682600), KVariable('ARGS')), KVariable('###CONTINUATION')] - ) - subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) - if subst is not None: - args = subst['ARGS'] + # freshBytes + cheatcode_call_pattern = KSequence( + [KApply('cheatcode_call', intToken(390682600), KVariable('ARGS')), KVariable('###CONTINUATION')] + ) + subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) + if subst is not None: + args = subst['ARGS'] - if type(args) is KToken: + if type(args) is KToken: + args_bytes = ast.literal_eval(args.token) + varname_offset = int.from_bytes(args_bytes[32:64], 'big') + bytes_length = KApply('#range', [args, intToken(0), intToken(32)]) + else: + partial_symbolic_args_pattern = KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [KApply('buf', [intToken(32), KVariable('LENGTH')]), KVariable('CONCRETE_VARNAME')], + ) + args_subst = partial_symbolic_args_pattern.match(args) + if args_subst is not None and type(args_subst['CONCRETE_VARNAME']) is KToken: + args = args_subst['CONCRETE_VARNAME'] args_bytes = ast.literal_eval(args.token) - varname_offset = int.from_bytes(args_bytes[32:64], 'big') - bytes_length = KApply('#range', [args, intToken(0), intToken(32)]) + varname_offset = int.from_bytes(args_bytes[0:32], 'big') - 32 + bytes_length = KApply('buf', [intToken(32), args_subst['LENGTH']]) else: - partial_symbolic_args_pattern = KApply( - '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', - [KApply('buf', [intToken(32), KVariable('LENGTH')]), KVariable('CONCRETE_VARNAME')], + _LOGGER.warning( + 'Custom K variable name specified for freshBytes cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' ) - args_subst = partial_symbolic_args_pattern.match(args) - if args_subst is not None and type(args_subst['CONCRETE_VARNAME']) is KToken: - args = args_subst['CONCRETE_VARNAME'] - args_bytes = ast.literal_eval(args.token) - varname_offset = int.from_bytes(args_bytes[0:32], 'big') - 32 - bytes_length = KApply('buf', [intToken(32), args_subst['LENGTH']]) - else: - _LOGGER.warning( - 'Custom K variable name specified for freshBytes cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' - ) - return None + return None - varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') - varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') - varname = varname.upper() - variable = KVariable(varname) + varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') + varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') + varname = varname.upper() + variable = KVariable(varname) - new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) + new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) - output_cell = KApply( - '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', - [ - KEVM.buf(intToken(32), intToken(32)), - KApply( - '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', - [ - KEVM.buf(intToken(32), KApply('asWord', bytes_length)), - KApply( - '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', - [ - variable, - KEVM.buf( - KApply( - '_-Int_', - [ - KApply( - '_&Int_', - [ - intToken( - 115792089237316195423570985008687907853269984665640564039457584007913129639904 - ), - KApply( - '_+Int_', [KApply('asWord', bytes_length), intToken(31)] - ), - ], - ), - KApply('asWord', bytes_length), - ], - ), - intToken(0), + output_cell = KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [ + KEVM.buf(intToken(32), intToken(32)), + KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [ + KEVM.buf(intToken(32), KApply('asWord', bytes_length)), + KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [ + variable, + KEVM.buf( + KApply( + '_-Int_', + [ + KApply( + '_&Int_', + [ + intToken( + 115792089237316195423570985008687907853269984665640564039457584007913129639904 + ), + KApply( + '_+Int_', [KApply('asWord', bytes_length), intToken(31)] + ), + ], + ), + KApply('asWord', bytes_length), + ], ), - ], - ), - ], - ), - ], - ) + intToken(0), + ), + ], + ), + ], + ), + ], + ) - new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', output_cell)) - new_cterm = new_cterm.add_constraint( - mlEqualsTrue( - eqInt(KApply('lengthBytes(_)_BYTES-HOOKED_Int_Bytes', variable), KApply('asWord', bytes_length)) - ) + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', output_cell)) + new_cterm = new_cterm.add_constraint( + mlEqualsTrue( + eqInt(KApply('lengthBytes(_)_BYTES-HOOKED_Int_Bytes', variable), KApply('asWord', bytes_length)) ) + ) - return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBytesCustomVar'], cut=True) + return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBytesCustomVar'], cut=True) # freshBool cheatcode_call_pattern = KSequence( diff --git a/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected b/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected index 833bdaf3b..61192c256 100644 --- a/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected +++ b/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected @@ -2315,7 +2315,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - ( 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 " +Bytes #buf ( 32 , lengthBytes ( ??BYTES ) ) +Bytes ??BYTES +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ??BYTES ) +Int maxUInt5 ) ) -Int lengthBytes ( ??BYTES ) ) , 0 ) ) + ( b"" => #buf ( 32 , 32 ) +Bytes #buf ( 32 , #asWord ( #buf ( 32 , ?WORD:Int ) ) ) +Bytes ?CDEFG +Bytes #buf ( ( ( notMaxUInt5 &Int ( #asWord ( #buf ( 32 , ?WORD:Int ) ) +Int maxUInt5 ) ) -Int #asWord ( #buf ( 32 , ?WORD:Int ) ) ) , 0 ) ) .List @@ -2340,10 +2340,10 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 0 - ( 292 : ( selector ( "freshBytes(uint256,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( ( ?WORD:Int => lengthBytes ( ??BYTES ) ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .WordStack ) ) ) ) ) ) ) + ( 292 : ( selector ( "freshBytes(uint256,string)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( ?WORD:Int : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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 , ( ?WORD:Int => lengthBytes ( ??BYTES ) ) ) +Bytes b"\x17IW\xe8" +Bytes #buf ( 32 , ( ?WORD:Int => lengthBytes ( ??BYTES ) ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05cdefg\x00\x00\x00\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 , ?WORD:Int ) +Bytes b"\x17IW\xe8" +Bytes #buf ( 32 , ?WORD:Int ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05cdefg\x00\x00\x00\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 @@ -2529,17 +2529,13 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 andBool ( ( notBool #range ( 0 < CALLER_ID:Int <= 9 ) ) andBool ( ( notBool #range ( 0 < ORIGIN_ID:Int <= 9 ) ) ))))))))))))))))) - ensures ( ?WORD:Int ==Int lengthBytes ( ??BYTES ) - andBool ( 36 - ( #cheatcode_return 160 0 => CALL 0 645326474426547203313410069153905908525362434349 0 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 36 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 32 ) + ( #cheatcode_return 160 0 => CALL 0 645326474426547203313410069153905908525362434349 0 ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 36 ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 32 ) ~> #pc [ CALL ] ~> #execute ~> _CONTINUATION @@ -2556,7 +2552,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - b"\x00\x00\x00\x00\x00\x00\x00\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 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) + ( #buf ( 32 , 32 ) => b"\x00\x00\x00\x00\x00\x00\x00\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 , ( #asWord ( #buf ( 32 , ?WORD:Int ) ) => lengthBytes ( CDEFG:Bytes ) ) ) +Bytes CDEFG +Bytes #buf ( ( ( notMaxUInt5 &Int ( ( #asWord ( #buf ( 32 , ?WORD:Int ) ) => lengthBytes ( CDEFG:Bytes ) ) +Int maxUInt5 ) ) -Int ( #asWord ( #buf ( 32 , ?WORD:Int ) ) => lengthBytes ( CDEFG:Bytes ) ) ) , 0 ) .List @@ -2581,10 +2577,10 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 0 - ( ( 292 => ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 292 ) ) : ( ( selector ( "freshBytes(uint256,string)" ) => selector ( "freshUInt(uint8)" ) ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( ( lengthBytes ( ?BYTES:Bytes ) => ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) ) : ( ( 280 => lengthBytes ( ?BYTES:Bytes ) ) : ( ( selector ( "test_symbolic_bytes_1_custom_name()" ) => 280 ) : ( .WordStack => ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .WordStack ) ) ) ) ) ) ) ) ) + ( ( 292 => ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 292 ) ) : ( ( selector ( "freshBytes(uint256,string)" ) => selector ( "freshUInt(uint8)" ) ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( ( ?WORD:Int => ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int 224 ) ) : ( ( 280 => lengthBytes ( CDEFG:Bytes ) ) : ( ( selector ( "test_symbolic_bytes_1_custom_name()" ) => 280 ) : ( .WordStack => ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 , ( lengthBytes ( ?BYTES:Bytes ) => ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) ) ) +Bytes ( b"\x17IW\xe8" => b"\x00\x00\x00\x00\x00\x00\x00\x00\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 , lengthBytes ( ?BYTES:Bytes ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05cdefg\x00\x00\x00\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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 , ( ?WORD:Int => ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) ) ) +Bytes ( b"\x17IW\xe8" => b"\x00\x00\x00\x00\x00\x00\x00\x00\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 , ( ?WORD:Int => lengthBytes ( CDEFG:Bytes ) ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x05cdefg\x00\x00\x00\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 " +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) +Bytes b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" ) 0 @@ -2752,7 +2748,10 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + requires ( 0 <=Int ?WORD:Int + andBool ( 36 - ( CALL 0 645326474426547203313410069153905908525362434349 0 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 36 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 32 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ( CALL 0 645326474426547203313410069153905908525362434349 0 ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 36 ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 32 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 728815563385977040452943777879061427756277306518 0 ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" false - ~> #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 32 ) + ~> #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 32 ) ~> #pc [ CALL ] ~> #execute ~> _CONTINUATION @@ -2795,7 +2798,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - b"\x00\x00\x00\x00\x00\x00\x00\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 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) + b"\x00\x00\x00\x00\x00\x00\x00\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 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) .List @@ -2820,10 +2823,10 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 0 - ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 292 ) : ( selector ( "freshUInt(uint8)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .WordStack ) ) ) ) ) ) ) ) + ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 292 ) : ( selector ( "freshUInt(uint8)" ) : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( CDEFG:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) +Bytes b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" 0 @@ -2991,7 +2994,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + requires ( _?WORD ==Int lengthBytes ( CDEFG:Bytes ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int NUMBER_CELL:Int @@ -3000,15 +3003,16 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 andBool ( ORIGIN_ID:Int @@ -3017,8 +3021,8 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 ( #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 728815563385977040452943777879061427756277306518 0 ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" false - ~> #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 32 - ~> #pc [ CALL ] => STATICCALL 0 645326474426547203313410069153905908525362434349 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 36 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 + ~> #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 256 ) 32 + ~> #pc [ CALL ] => STATICCALL 0 645326474426547203313410069153905908525362434349 ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 36 ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 ~> #pc [ STATICCALL ] ) ~> #execute ~> _CONTINUATION @@ -3035,7 +3039,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - ( b"\x00\x00\x00\x00\x00\x00\x00\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 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) => #buf ( 32 , ??WORD0 ) ) + ( b"\x00\x00\x00\x00\x00\x00\x00\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 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) => #buf ( 32 , ??WORD0 ) ) .List @@ -3060,10 +3064,10 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 0 - ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int ( 292 => 324 ) ) : ( ( selector ( "freshUInt(uint8)" ) => selector ( "assume(bool)" ) ) : ( 645326474426547203313410069153905908525362434349 : ( ( 0 => ??WORD0 ) : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .WordStack ) ) ) ) ) ) ) ) + ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int ( 292 => 324 ) ) : ( ( selector ( "freshUInt(uint8)" ) => selector ( "assume(bool)" ) ) : ( 645326474426547203313410069153905908525362434349 : ( ( 0 => ??WORD0 ) : ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( CDEFG:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int ( 256 => 288 ) ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes ( b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" => #buf ( 32 , ??WORD0 ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ??WORD0 288 ) ) ) +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" +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) +Bytes ( b"%D\x9dd\x00\x00\x00\x00\x00\x00\x00\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" => #buf ( 32 , ??WORD0 ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ??WORD0 0 @@ -3231,7 +3235,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + requires ( _?WORD ==Int lengthBytes ( CDEFG:Bytes ) andBool ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int andBool ( 0 <=Int NUMBER_CELL:Int @@ -3240,15 +3244,16 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 andBool ( ORIGIN_ID:Int - ( STATICCALL 0 645326474426547203313410069153905908525362434349 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 36 ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ( STATICCALL 0 645326474426547203313410069153905908525362434349 ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 36 ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 728815563385977040452943777879061427756277306518 0 - ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ?WORD0:Int #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 ) + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ?WORD0:Int #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 ) ~> #pc [ STATICCALL ] ~> #execute ~> _CONTINUATION @@ -3302,10 +3307,10 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 0 - ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 324 ) : ( selector ( "assume(bool)" ) : ( 645326474426547203313410069153905908525362434349 : ( ?WORD0:Int : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .WordStack ) ) ) ) ) ) ) ) + ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 324 ) : ( selector ( "assume(bool)" ) : ( 645326474426547203313410069153905908525362434349 : ( ?WORD0:Int : ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( CDEFG:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , ?WORD0:Int ) +Bytes b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ?WORD0:Int 0 @@ -3473,7 +3478,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + requires ( _?WORD ==Int lengthBytes ( CDEFG:Bytes ) andBool ( 0 <=Int ?WORD0:Int andBool ( ?WORD0:Int @@ -3500,8 +3506,8 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 ( #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 728815563385977040452943777879061427756277306518 0 - ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ?WORD0:Int #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ?WORD0:Int #return ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) 0 ~> #pc [ STATICCALL ] => #end EVMC_SUCCESS ~> #pc [ STOP ] ) ~> #execute @@ -3544,10 +3550,10 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 0 - ( ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 324 ) => selector ( "test_symbolic_bytes_1_custom_name()" ) ) : ( ( selector ( "assume(bool)" ) : ( 645326474426547203313410069153905908525362434349 : ( ?WORD0:Int : ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( ?BYTES:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .WordStack ) ) ) ) ) ) ) => .WordStack ) ) + ( ( ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 324 ) => selector ( "test_symbolic_bytes_1_custom_name()" ) ) : ( ( selector ( "assume(bool)" ) : ( 645326474426547203313410069153905908525362434349 : ( ?WORD0:Int : ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int 224 ) : ( lengthBytes ( CDEFG:Bytes ) : ( 280 : ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , ?WORD0:Int ) +Bytes ( b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ?WORD0:Int b"Lc\xe5b\x00\x00\x00\x00\x00\x00\x00\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"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) +Bytes #buf ( 32 , ?WORD0:Int ) +Bytes ( b"Lc\xe5b" +Bytes #buf ( 32 , bool2Word ( ?WORD0:Int b"Lc\xe5b\x00\x00\x00\x00\x00\x00\x00\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" ) 0 @@ -3623,7 +3629,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 0 - ( .Map => ( 27 |-> #asWord ( #range ( ?BYTES:Bytes , ?WORD0:Int , 1 ) ) ) ) + ( .Map => ( 27 |-> #asWord ( #range ( CDEFG:Bytes , ?WORD0:Int , 1 ) ) ) ) .Map @@ -3715,7 +3721,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + requires ( _?WORD ==Int lengthBytes ( CDEFG:Bytes ) andBool ( 0 <=Int ?WORD0:Int andBool ( ?WORD0:Int @@ -3789,7 +3796,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , ?WORD0:Int ) +Bytes b"Lc\xe5b\x00\x00\x00\x00\x00\x00\x00\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"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) +Bytes #buf ( 32 , ?WORD0:Int ) +Bytes b"Lc\xe5b\x00\x00\x00\x00\x00\x00\x00\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" 0 @@ -3865,7 +3872,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 0 - ( 27 |-> #asWord ( #range ( ?BYTES:Bytes , ?WORD0:Int , 1 ) ) ) + ( 27 |-> #asWord ( #range ( CDEFG:Bytes , ?WORD0:Int , 1 ) ) ) .Map @@ -3957,7 +3964,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + requires ( _?WORD ==Int lengthBytes ( CDEFG:Bytes ) andBool ( 0 <=Int ?WORD0:Int andBool ( ?WORD0:Int @@ -4031,7 +4039,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 ( selector ( "test_symbolic_bytes_1_custom_name()" ) : .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" +Bytes #buf ( 32 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( ?BYTES:Bytes ) ) +Bytes ?BYTES:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( ?BYTES:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( ?BYTES:Bytes ) ) , 0 ) +Bytes #buf ( 32 , ?WORD0:Int ) +Bytes b"Lc\xe5b\x00\x00\x00\x00\x00\x00\x00\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"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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 , ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) +Int ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) ) +Int 288 ) ) +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" +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +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 " +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) +Bytes #buf ( 32 , lengthBytes ( CDEFG:Bytes ) ) +Bytes CDEFG:Bytes +Bytes #buf ( ( ( notMaxUInt5 &Int ( lengthBytes ( CDEFG:Bytes ) +Int maxUInt5 ) ) -Int lengthBytes ( CDEFG:Bytes ) ) , 0 ) +Bytes #buf ( 32 , ?WORD0:Int ) +Bytes b"Lc\xe5b\x00\x00\x00\x00\x00\x00\x00\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" 0 @@ -4107,7 +4115,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 0 - ( 27 |-> #asWord ( #range ( ?BYTES:Bytes , ?WORD0:Int , 1 ) ) ) + ( 27 |-> #asWord ( #range ( CDEFG:Bytes , ?WORD0:Int , 1 ) ) ) .Map @@ -4199,7 +4207,7 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 - requires ( _?WORD ==Int lengthBytes ( ?BYTES:Bytes ) + requires ( _?WORD ==Int lengthBytes ( CDEFG:Bytes ) andBool ( 0 <=Int ?WORD0:Int andBool ( ?WORD0:Int Date: Sun, 25 Aug 2024 18:45:41 +0100 Subject: [PATCH 18/21] can_make_custom_step --- src/kontrol/prove.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index 90699b4db..b67266b04 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -302,6 +302,28 @@ def port(self) -> int: class KontrolSemantics(KEVMSemantics): + def can_make_custom_step(self, cterm: CTerm) -> bool: + + patterns = [ + KSequence( + [KApply('cheatcode_call', intToken(1530912521), KVariable('ARGS')), KVariable('###CONTINUATION')] + ), + KApply('cheatcode_call', intToken(1202084987), KVariable('ARGS')), + KVariable('###CONTINUATION'), + KApply('cheatcode_call', intToken(390682600), KVariable('ARGS')), + KVariable('###CONTINUATION'), + KApply('cheatcode_call', intToken(525694724), KVariable('ARGS')), + KVariable('###CONTINUATION'), + KApply('foundry_setSymbolicStorageCustomVar', KVariable('ACCTID'), KVariable('ARGS')), + KVariable('###CONTINUATION'), + ] + + return any( + pattern.match(cterm.cell('K_CELL')) is not None for pattern in patterns + ) or super().can_make_custom_step(cterm) + + return + def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: # freshUInt From 2e00656b1c5738d5786838ecb9fdeee71ef255f8 Mon Sep 17 00:00:00 2001 From: Petar Maksimovic Date: Sun, 25 Aug 2024 20:36:43 +0100 Subject: [PATCH 19/21] expected outputs, custom step activation --- .github/workflows/test-pr.yml | 2 +- src/kontrol/foundry.py | 2 +- src/kontrol/prove.py | 440 +++++++++--------- ...st_symbolic_bytes_1_custom_name().expected | 136 +++--- ...tcodes.test_int128_custom_name1().expected | 56 +-- 5 files changed, 325 insertions(+), 311 deletions(-) diff --git a/.github/workflows/test-pr.yml b/.github/workflows/test-pr.yml index 12e5e23cd..eb9ed0041 100644 --- a/.github/workflows/test-pr.yml +++ b/.github/workflows/test-pr.yml @@ -195,7 +195,7 @@ jobs: - name: 'Run forge build' run: | docker exec --user ${DOCKER_USER} --workdir ${FOUNDRY_ROOT} ${CONTAINER_NAME} forge install --no-git foundry-rs/forge-std@75f1746 - docker exec --user ${DOCKER_USER} --workdir ${FOUNDRY_ROOT} ${CONTAINER_NAME} forge install --no-git runtimeverification/kontrol-cheatcodes@a5dd4b0 + docker exec --user ${DOCKER_USER} --workdir ${FOUNDRY_ROOT} ${CONTAINER_NAME} forge install --no-git runtimeverification/kontrol-cheatcodes@f0dc718 docker exec --user ${DOCKER_USER} --workdir ${FOUNDRY_ROOT} ${CONTAINER_NAME} forge build - name: 'Run kontrol build' run: docker exec --user ${DOCKER_USER} --workdir ${FOUNDRY_ROOT} ${CONTAINER_NAME} kontrol build diff --git a/src/kontrol/foundry.py b/src/kontrol/foundry.py index 1e2dc6157..03bd05dff 100644 --- a/src/kontrol/foundry.py +++ b/src/kontrol/foundry.py @@ -1393,7 +1393,7 @@ def init_project(project_root: Path, *, skip_forge: bool) -> None: write_to_file(root / 'kontrol.toml', kontrol_toml_file_contents()) append_to_file(root / 'foundry.toml', foundry_toml_extra_contents()) run_process_2( - ['forge', 'install', '--no-git', 'runtimeverification/kontrol-cheatcodes'], + ['forge', 'install', '--no-git', 'runtimeverification/kontrol-cheatcodes@f0dc718'], logger=_LOGGER, cwd=root, ) diff --git a/src/kontrol/prove.py b/src/kontrol/prove.py index b67266b04..9d37bf9f7 100644 --- a/src/kontrol/prove.py +++ b/src/kontrol/prove.py @@ -305,257 +305,271 @@ class KontrolSemantics(KEVMSemantics): def can_make_custom_step(self, cterm: CTerm) -> bool: patterns = [ + # freshUInt KSequence( [KApply('cheatcode_call', intToken(1530912521), KVariable('ARGS')), KVariable('###CONTINUATION')] ), - KApply('cheatcode_call', intToken(1202084987), KVariable('ARGS')), - KVariable('###CONTINUATION'), - KApply('cheatcode_call', intToken(390682600), KVariable('ARGS')), - KVariable('###CONTINUATION'), - KApply('cheatcode_call', intToken(525694724), KVariable('ARGS')), - KVariable('###CONTINUATION'), - KApply('foundry_setSymbolicStorageCustomVar', KVariable('ACCTID'), KVariable('ARGS')), - KVariable('###CONTINUATION'), + # freshAddress + KSequence( + [KApply('cheatcode_call', intToken(1202084987), KVariable('ARGS')), KVariable('###CONTINUATION')] + ), + # freshBytes + KSequence([KApply('cheatcode_call', intToken(390682600), KVariable('ARGS')), KVariable('###CONTINUATION')]), + # freshBool + KSequence([KApply('cheatcode_call', intToken(525694724), KVariable('ARGS')), KVariable('###CONTINUATION')]), + # symbolicStorage + KSequence( + [ + KApply('foundry_setSymbolicStorageCustomVar', KVariable('ACCTID'), KVariable('ARGS')), + KVariable('###CONTINUATION'), + ] + ), ] return any( pattern.match(cterm.cell('K_CELL')) is not None for pattern in patterns ) or super().can_make_custom_step(cterm) - return - def custom_step(self, cterm: CTerm) -> KCFGExtendResult | None: - # freshUInt - cheatcode_call_pattern = KSequence( - [KApply('cheatcode_call', intToken(1530912521), KVariable('ARGS')), KVariable('###CONTINUATION')] - ) - subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) - if subst is not None: - args = subst['ARGS'] - if type(args) is not KToken: - _LOGGER.warning( - 'Custom K variable name specified for freshUInt cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' - ) - return None - args_bytes = ast.literal_eval(args.token) - int_size = int.from_bytes(args_bytes[:32], 'big') - varname_offset = int.from_bytes(args_bytes[32:64], 'big') - varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') - varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') - varname = varname.upper() - variable = KVariable(varname) - - new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) - new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', KEVM.buf(intToken(32), variable))) - new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(intToken(0), variable))) - new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(variable, intToken(2 ** (8 * int_size))))) - - return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshUIntCustomVar'], cut=True) - - # freshAddress - cheatcode_call_pattern = KSequence( - [KApply('cheatcode_call', intToken(1202084987), KVariable('ARGS')), KVariable('###CONTINUATION')] - ) - subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) - if subst is not None: - args = subst['ARGS'] - if type(args) is not KToken: - _LOGGER.warning( - 'Custom K variable name specified for freshAddress cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' - ) - return None - args_bytes = ast.literal_eval(args.token) - varname_offset = int.from_bytes(args_bytes[0:32], 'big') - varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') - varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') - varname = varname.upper() - variable = KVariable(varname) - - new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) - new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', KEVM.buf(intToken(32), variable))) - new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(intToken(0), variable))) - new_cterm = new_cterm.add_constraint( - mlEqualsTrue(ltInt(variable, intToken(1461501637330902918203684832716283019655932542975))) - ) - new_cterm = new_cterm.add_constraint( - mlEqualsTrue(KApply('_=/=Int_', [variable, intToken(728815563385977040452943777879061427756277306518)])) - ) - new_cterm = new_cterm.add_constraint( - mlEqualsTrue(KApply('_=/=Int_', [variable, intToken(645326474426547203313410069153905908525362434349)])) + if self.can_make_custom_step(cterm): + + # freshUInt + cheatcode_call_pattern = KSequence( + [KApply('cheatcode_call', intToken(1530912521), KVariable('ARGS')), KVariable('###CONTINUATION')] ) + subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) + if subst is not None: + args = subst['ARGS'] + if type(args) is not KToken: + _LOGGER.warning( + 'Custom K variable name specified for freshUInt cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' + ) + return None + args_bytes = ast.literal_eval(args.token) + int_size = int.from_bytes(args_bytes[:32], 'big') + varname_offset = int.from_bytes(args_bytes[32:64], 'big') + varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') + varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') + varname = varname.upper() + variable = KVariable(varname) - return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.foundry.call.freshAddressCustomVar'], cut=True) + new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', KEVM.buf(intToken(32), variable))) + new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(intToken(0), variable))) + new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(variable, intToken(2 ** (8 * int_size))))) - # freshBytes - cheatcode_call_pattern = KSequence( - [KApply('cheatcode_call', intToken(390682600), KVariable('ARGS')), KVariable('###CONTINUATION')] - ) - subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) - if subst is not None: - args = subst['ARGS'] + return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshUIntCustomVar'], cut=True) - if type(args) is KToken: + # freshAddress + cheatcode_call_pattern = KSequence( + [KApply('cheatcode_call', intToken(1202084987), KVariable('ARGS')), KVariable('###CONTINUATION')] + ) + subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) + if subst is not None: + args = subst['ARGS'] + if type(args) is not KToken: + _LOGGER.warning( + 'Custom K variable name specified for freshAddress cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' + ) + return None args_bytes = ast.literal_eval(args.token) - varname_offset = int.from_bytes(args_bytes[32:64], 'big') - bytes_length = KApply('#range', [args, intToken(0), intToken(32)]) - else: - partial_symbolic_args_pattern = KApply( - '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', - [KApply('buf', [intToken(32), KVariable('LENGTH')]), KVariable('CONCRETE_VARNAME')], + varname_offset = int.from_bytes(args_bytes[0:32], 'big') + varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') + varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') + varname = varname.upper() + variable = KVariable(varname) + + new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', KEVM.buf(intToken(32), variable))) + new_cterm = new_cterm.add_constraint(mlEqualsTrue(ltInt(intToken(0), variable))) + new_cterm = new_cterm.add_constraint( + mlEqualsTrue(ltInt(variable, intToken(1461501637330902918203684832716283019655932542975))) + ) + new_cterm = new_cterm.add_constraint( + mlEqualsTrue( + KApply('_=/=Int_', [variable, intToken(728815563385977040452943777879061427756277306518)]) + ) + ) + new_cterm = new_cterm.add_constraint( + mlEqualsTrue( + KApply('_=/=Int_', [variable, intToken(645326474426547203313410069153905908525362434349)]) + ) ) - args_subst = partial_symbolic_args_pattern.match(args) - if args_subst is not None and type(args_subst['CONCRETE_VARNAME']) is KToken: - args = args_subst['CONCRETE_VARNAME'] + + return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.foundry.call.freshAddressCustomVar'], cut=True) + + # freshBytes + cheatcode_call_pattern = KSequence( + [KApply('cheatcode_call', intToken(390682600), KVariable('ARGS')), KVariable('###CONTINUATION')] + ) + subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) + if subst is not None: + args = subst['ARGS'] + + if type(args) is KToken: args_bytes = ast.literal_eval(args.token) - varname_offset = int.from_bytes(args_bytes[0:32], 'big') - 32 - bytes_length = KApply('buf', [intToken(32), args_subst['LENGTH']]) + varname_offset = int.from_bytes(args_bytes[32:64], 'big') + bytes_length = KApply('#range', [args, intToken(0), intToken(32)]) else: - _LOGGER.warning( - 'Custom K variable name specified for freshBytes cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' + partial_symbolic_args_pattern = KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [KApply('buf', [intToken(32), KVariable('LENGTH')]), KVariable('CONCRETE_VARNAME')], ) - return None + args_subst = partial_symbolic_args_pattern.match(args) + if args_subst is not None and type(args_subst['CONCRETE_VARNAME']) is KToken: + args = args_subst['CONCRETE_VARNAME'] + args_bytes = ast.literal_eval(args.token) + varname_offset = int.from_bytes(args_bytes[0:32], 'big') - 32 + bytes_length = KApply('buf', [intToken(32), args_subst['LENGTH']]) + else: + _LOGGER.warning( + 'Custom K variable name specified for freshBytes cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' + ) + return None - varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') - varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') - varname = varname.upper() - variable = KVariable(varname) + varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') + varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') + varname = varname.upper() + variable = KVariable(varname) - new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) + new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) - output_cell = KApply( - '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', - [ - KEVM.buf(intToken(32), intToken(32)), - KApply( - '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', - [ - KEVM.buf(intToken(32), KApply('asWord', bytes_length)), - KApply( - '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', - [ - variable, - KEVM.buf( - KApply( - '_-Int_', - [ - KApply( - '_&Int_', - [ - intToken( - 115792089237316195423570985008687907853269984665640564039457584007913129639904 - ), - KApply( - '_+Int_', [KApply('asWord', bytes_length), intToken(31)] - ), - ], - ), - KApply('asWord', bytes_length), - ], + output_cell = KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [ + KEVM.buf(intToken(32), intToken(32)), + KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [ + KEVM.buf(intToken(32), KApply('asWord', bytes_length)), + KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [ + variable, + KEVM.buf( + KApply( + '_-Int_', + [ + KApply( + '_&Int_', + [ + intToken( + 115792089237316195423570985008687907853269984665640564039457584007913129639904 + ), + KApply( + '_+Int_', [KApply('asWord', bytes_length), intToken(31)] + ), + ], + ), + KApply('asWord', bytes_length), + ], + ), + intToken(0), ), - intToken(0), - ), - ], - ), - ], - ), - ], - ) + ], + ), + ], + ), + ], + ) - new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', output_cell)) - new_cterm = new_cterm.add_constraint( - mlEqualsTrue( - eqInt(KApply('lengthBytes(_)_BYTES-HOOKED_Int_Bytes', variable), KApply('asWord', bytes_length)) + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', output_cell)) + new_cterm = new_cterm.add_constraint( + mlEqualsTrue( + eqInt(KApply('lengthBytes(_)_BYTES-HOOKED_Int_Bytes', variable), KApply('asWord', bytes_length)) + ) ) - ) - return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBytesCustomVar'], cut=True) + return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBytesCustomVar'], cut=True) - # freshBool - cheatcode_call_pattern = KSequence( - [KApply('cheatcode_call', intToken(525694724), KVariable('ARGS')), KVariable('###CONTINUATION')] - ) - subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) - if subst is not None: - args = subst['ARGS'] - if type(args) is not KToken: - _LOGGER.warning( - 'Custom K variable name specified for freshBool cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' - ) - return None - args_bytes = ast.literal_eval(args.token) - varname_offset = int.from_bytes(args_bytes[0:32], 'big') - varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') - varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') - varname = varname.upper() - variable = KVariable(varname) - - new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) - new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', KEVM.buf(intToken(32), variable))) - new_cterm = new_cterm.add_constraint(mlEqualsTrue(leInt(intToken(0), variable))) - new_cterm = new_cterm.add_constraint(mlEqualsTrue(leInt(variable, intToken(1)))) - - return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBoolCustomVar'], cut=True) - - # symbolicStorage - cheatcode_call_pattern = KSequence( - [ - KApply('foundry_setSymbolicStorageCustomVar', KVariable('ACCTID'), KVariable('ARGS')), - KVariable('###CONTINUATION'), - ] - ) - subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) - if subst is not None: - args = subst['ARGS'] - account_id = subst['ACCTID'] - if type(args) is KToken: + # freshBool + cheatcode_call_pattern = KSequence( + [KApply('cheatcode_call', intToken(525694724), KVariable('ARGS')), KVariable('###CONTINUATION')] + ) + subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) + if subst is not None: + args = subst['ARGS'] + if type(args) is not KToken: + _LOGGER.warning( + 'Custom K variable name specified for freshBool cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' + ) + return None args_bytes = ast.literal_eval(args.token) - varname_offset = int.from_bytes(args_bytes[32:64], 'big') - else: - partial_symbolic_args_pattern = KApply( - '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', - [KApply('buf', [intToken(32), KVariable('ACCTID')]), KVariable('CONCRETE_VARNAME')], - ) - args_subst = partial_symbolic_args_pattern.match(args) - if args_subst is not None and type(args_subst['CONCRETE_VARNAME']) is KToken: - args = args_subst['CONCRETE_VARNAME'] + varname_offset = int.from_bytes(args_bytes[0:32], 'big') + varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') + varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') + varname = varname.upper() + variable = KVariable(varname) + + new_cterm = CTerm.from_kast(set_cell(cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'OUTPUT_CELL', KEVM.buf(intToken(32), variable))) + new_cterm = new_cterm.add_constraint(mlEqualsTrue(leInt(intToken(0), variable))) + new_cterm = new_cterm.add_constraint(mlEqualsTrue(leInt(variable, intToken(1)))) + + return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.call.freshBoolCustomVar'], cut=True) + + # symbolicStorage + cheatcode_call_pattern = KSequence( + [ + KApply('foundry_setSymbolicStorageCustomVar', KVariable('ACCTID'), KVariable('ARGS')), + KVariable('###CONTINUATION'), + ] + ) + subst = cheatcode_call_pattern.match(cterm.cell('K_CELL')) + if subst is not None: + args = subst['ARGS'] + account_id = subst['ACCTID'] + if type(args) is KToken: args_bytes = ast.literal_eval(args.token) - varname_offset = int.from_bytes(args_bytes[0:32], 'big') - 32 + varname_offset = int.from_bytes(args_bytes[32:64], 'big') else: - _LOGGER.warning( - 'Custom K variable name specified for symbolicStorage cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' + partial_symbolic_args_pattern = KApply( + '_+Bytes__BYTES-HOOKED_Bytes_Bytes_Bytes', + [KApply('buf', [intToken(32), KVariable('ACCTID')]), KVariable('CONCRETE_VARNAME')], ) - return None - varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') - varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') - varname = varname.upper() - variable = KVariable(varname) - accounts_cell = cterm.cell('ACCOUNTS_CELL') - - all_accounts = flatten_label('_AccountCellMap_', accounts_cell) - cell_accounts = [ - CTerm(account, []) for account in all_accounts if (type(account) is KApply and account.is_cell) - ] + [ - CTerm(account.args[1], []) - for account in all_accounts - if (type(account) is KApply and account.label.name == 'AccountCellMapItem') - ] + args_subst = partial_symbolic_args_pattern.match(args) + if args_subst is not None and type(args_subst['CONCRETE_VARNAME']) is KToken: + args = args_subst['CONCRETE_VARNAME'] + args_bytes = ast.literal_eval(args.token) + varname_offset = int.from_bytes(args_bytes[0:32], 'big') - 32 + else: + _LOGGER.warning( + 'Custom K variable name specified for symbolicStorage cheat code, but matching heuristic failed to determine a concrete variable name. Falling back to using default variable name.' + ) + return None + varname_length = int.from_bytes(args_bytes[varname_offset : varname_offset + 32], 'big') + varname = args_bytes[varname_offset + 32 : varname_offset + 32 + varname_length].decode('utf-8') + varname = varname.upper() + variable = KVariable(varname) + accounts_cell = cterm.cell('ACCOUNTS_CELL') + + all_accounts = flatten_label('_AccountCellMap_', accounts_cell) + cell_accounts = [ + CTerm(account, []) for account in all_accounts if (type(account) is KApply and account.is_cell) + ] + [ + CTerm(account.args[1], []) + for account in all_accounts + if (type(account) is KApply and account.label.name == 'AccountCellMapItem') + ] - cell_accounts_map = {account.cell('ACCTID_CELL'): account for account in cell_accounts} + cell_accounts_map = {account.cell('ACCTID_CELL'): account for account in cell_accounts} - contract_account = cell_accounts_map[account_id] - contract_account = CTerm(set_cell(contract_account.config, 'STORAGE_CELL', variable), []) - contract_account = CTerm(set_cell(contract_account.config, 'ORIGSTORAGE_CELL', variable), []) - cell_accounts_map[account_id] = contract_account + contract_account = cell_accounts_map[account_id] + contract_account = CTerm(set_cell(contract_account.config, 'STORAGE_CELL', variable), []) + contract_account = CTerm(set_cell(contract_account.config, 'ORIGSTORAGE_CELL', variable), []) + cell_accounts_map[account_id] = contract_account - new_accounts_cell = KEVM.accounts([account.config for account in cell_accounts_map.values()]) + new_accounts_cell = KEVM.accounts([account.config for account in cell_accounts_map.values()]) - new_cterm = CTerm(set_cell(cterm.config, 'ACCOUNTS_CELL', new_accounts_cell), cterm.constraints) - new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) + new_cterm = CTerm(set_cell(cterm.config, 'ACCOUNTS_CELL', new_accounts_cell), cterm.constraints) + new_cterm = CTerm.from_kast(set_cell(new_cterm.kast, 'K_CELL', KSequence(subst['###CONTINUATION']))) - return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.set.symbolicStorageCustomVar'], cut=True) + return Step(new_cterm, 1, (), ['FOUNDRY-CHEAT-CODES.cheatcode.set.symbolicStorageCustomVar'], cut=True) - return super().custom_step(cterm) + return super().custom_step(cterm) + else: + return None @staticmethod def cut_point_rules( diff --git a/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected b/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected index 61192c256..646113434 100644 --- a/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected +++ b/src/tests/integration/test-data/show/FreshBytesTest.test_symbolic_bytes_1_custom_name().expected @@ -374,15 +374,15 @@ module SUMMARY-TEST%FRESHBYTESTEST.TEST-SYMBOLIC-BYTES-1-CUSTOM-NAME():0 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 Date: Sun, 25 Aug 2024 21:56:17 +0100 Subject: [PATCH 20/21] more expected outputs --- ...tcodes.test_address_custom_name().expected | 65 +++++++++---------- ...heatcodes.test_bool_custom_name().expected | 56 ++++++++-------- ...tcodes.test_int128_custom_name2().expected | 56 ++++++++-------- 3 files changed, 87 insertions(+), 90 deletions(-) diff --git a/src/tests/integration/test-data/show/FreshCheatcodes.test_address_custom_name().expected b/src/tests/integration/test-data/show/FreshCheatcodes.test_address_custom_name().expected index 869e3a7d8..45e80e172 100644 --- a/src/tests/integration/test-data/show/FreshCheatcodes.test_address_custom_name().expected +++ b/src/tests/integration/test-data/show/FreshCheatcodes.test_address_custom_name().expected @@ -294,15 +294,15 @@ module SUMMARY-TEST%FRESHCHEATCODES.TEST-ADDRESS-CUSTOM-NAME():0 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 @@ -1482,22 +1481,21 @@ module SUMMARY-TEST%FRESHCHEATCODES.TEST-ADDRESS-CUSTOM-NAME():0 requires ( 0 @@ -1722,22 +1720,21 @@ module SUMMARY-TEST%FRESHCHEATCODES.TEST-ADDRESS-CUSTOM-NAME():0 requires ( 0 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int + andBool ( pow24 Date: Sun, 25 Aug 2024 23:14:44 +0100 Subject: [PATCH 21/21] and even more expected outputs --- ...olicStorage1_custom_name(uint256).expected | 294 +++++++++--------- 1 file changed, 147 insertions(+), 147 deletions(-) diff --git a/src/tests/integration/test-data/show/SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256).expected b/src/tests/integration/test-data/show/SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256).expected index 2a4030a8d..78b478e65 100644 --- a/src/tests/integration/test-data/show/SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256).expected +++ b/src/tests/integration/test-data/show/SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256).expected @@ -102,7 +102,7 @@ ┃ │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) ┃ │ ┃ │ (1 step) -┃ ├─ 17 +┃ ├─ 16 ┃ │ k: #accessAccounts 645326474426547203313410069153905908525362434349 ~> #checkCall 7 ... ┃ │ pc: 3285 ┃ │ callDepth: 0 @@ -110,7 +110,7 @@ ┃ │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) ┃ │ ┃ │ (249 steps) -┃ ├─ 19 +┃ ├─ 18 ┃ │ k: #end EVMC_SUCCESS ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 300 ┃ │ callDepth: 0 @@ -118,7 +118,7 @@ ┃ │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) ┃ │ ┃ │ (1 step) -┃ ├─ 21 +┃ ├─ 20 ┃ │ k: #halt ~> #pc [ STOP ] ~> #execute ~> CONTINUATION:K ┃ │ pc: 300 ┃ │ callDepth: 0 @@ -151,7 +151,7 @@ │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) │ │ (12 steps) - ├─ 16 + ├─ 17 │ k: #end EVMC_REVERT ~> #pc [ REVERT ] ~> #execute ~> CONTINUATION:K │ pc: 911 │ callDepth: 0 @@ -159,7 +159,7 @@ │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) │ │ (1 step) - ├─ 18 + ├─ 19 │ k: #halt ~> #pc [ REVERT ] ~> #execute ~> CONTINUATION:K │ pc: 911 │ callDepth: 0 @@ -167,7 +167,7 @@ │ method: test%SymbolicStorageTest.testFail_SymbolicStorage1_custom_name(uint256) │ │ (2 steps) - ├─ 20 (terminal) + ├─ 21 (terminal) │ k: #halt ~> CONTINUATION:K │ pc: 911 │ callDepth: 0 @@ -543,16 +543,16 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 + rule [BASIC-BLOCK-15-TO-16]: - ( JUMPI 912 chop ( ( 0 -Int #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) ) - ~> #pc [ JUMPI ] => #end EVMC_REVERT - ~> #pc [ REVERT ] ) + ( CALL 0 645326474426547203313410069153905908525362434349 0 420 100 420 0 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" false + ~> #return 420 0 ) + ~> #pc [ CALL ] ~> #execute ~> _CONTINUATION @@ -3612,7 +3614,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI - ( #buf ( 32 , #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) => b"" ) + #buf ( 32 , #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) EVMC_SUCCESS @@ -3640,10 +3642,10 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - ( ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) => 0 ) : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .WordStack ) ) ) ) ) + ( 520 : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 1935 : ( 0 : ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 923 : ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" ) +Bytes #buf ( 32 , ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) => VV0_slot_114b9705:Int ) ) +Bytes ( b"\xcc#\xb7/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) +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\fstorage_abcd\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\fstorage_abcd\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\x01\xa4\x00\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00dp\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" 0 @@ -3661,7 +3663,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI - .List + ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 29485693714967335757563038618841744472215891622979272243827124658718922284880 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\"Error: a == b not satisfied [uint]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\n Left\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n Right\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) 0 @@ -3855,32 +3857,29 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 + rule [BASIC-BLOCK-14-TO-17]: - ( CALL 0 645326474426547203313410069153905908525362434349 0 420 100 420 0 ~> .K => #accessAccounts 645326474426547203313410069153905908525362434349 - ~> #checkCall 728815563385977040452943777879061427756277306518 0 - ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" false - ~> #return 420 0 ) - ~> #pc [ CALL ] + ( JUMPI 912 chop ( ( 0 -Int #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) ) + ~> #pc [ JUMPI ] => #end EVMC_REVERT + ~> #pc [ REVERT ] ) ~> #execute ~> _CONTINUATION @@ -3896,7 +3895,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI - #buf ( 32 , #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) + ( #buf ( 32 , #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) => b"" ) EVMC_SUCCESS @@ -3924,10 +3923,10 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - ( 520 : ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 1935 : ( 0 : ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 923 : ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .WordStack ) ) ) ) ) ) ) ) ) ) ) ) + ( ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) => 0 ) : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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\x01\xa4\x00\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00dp\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" + ( b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" => b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" ) +Bytes #buf ( 32 , ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) => VV0_slot_114b9705:Int ) ) +Bytes ( b"\xcc#\xb7/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) +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\fstorage_abcd\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\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" ) 0 @@ -3945,7 +3944,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI - ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 29485693714967335757563038618841744472215891622979272243827124658718922284880 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\"Error: a == b not satisfied [uint]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\n Left\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n Right\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) + .List 0 @@ -4139,28 +4138,33 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 - ( #end EVMC_REVERT => #halt ) - ~> #pc [ REVERT ] + ( #accessAccounts 645326474426547203313410069153905908525362434349 + ~> #checkCall 728815563385977040452943777879061427756277306518 0 + ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" false + ~> #return 420 0 + ~> #pc [ CALL ] => #end EVMC_SUCCESS + ~> #pc [ STOP ] ) ~> #execute ~> _CONTINUATION @@ -4176,10 +4180,10 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI - b"" + ( #buf ( 32 , #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) => b"" ) - ( EVMC_SUCCESS => EVMC_REVERT ) + EVMC_SUCCESS .List @@ -4204,10 +4208,10 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - ( 0 : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .WordStack ) ) ) ) ) + ( ( 520 => selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) ) : ( ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 1935 : ( 0 : ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 923 : ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) +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\fstorage_abcd\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\x01\xa4\x00\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00dp\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" 0 @@ -4225,7 +4229,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI - .List + ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 29485693714967335757563038618841744472215891622979272243827124658718922284880 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\"Error: a == b not satisfied [uint]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\n Left\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n Right\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) 0 @@ -4304,7 +4308,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - .Map + ( .Map => ( 46308022326495007027972728677917914892729792999299745830475596687180801507328 |-> 1 ) ) .Map @@ -4325,7 +4329,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - .Map + ( .Map => ( 7 |-> 256 ) ) .Map @@ -4419,32 +4423,28 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 - ( #accessAccounts 645326474426547203313410069153905908525362434349 - ~> #checkCall 728815563385977040452943777879061427756277306518 0 - ~> #call 728815563385977040452943777879061427756277306518 645326474426547203313410069153905908525362434349 645326474426547203313410069153905908525362434349 0 0 b"p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" false - ~> #return 420 0 - ~> #pc [ CALL ] => #end EVMC_SUCCESS - ~> #pc [ STOP ] ) + ( #end EVMC_REVERT => #halt ) + ~> #pc [ REVERT ] ~> #execute ~> _CONTINUATION @@ -4460,10 +4460,10 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI - ( #buf ( 32 , #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) => b"" ) + b"" - EVMC_SUCCESS + ( EVMC_SUCCESS => EVMC_REVERT ) .List @@ -4488,10 +4488,10 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - ( ( 520 => selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) ) : ( ( 645326474426547203313410069153905908525362434349 : ( 0 : ( 1935 : ( 0 : ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 923 : ( #lookup ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .WordStack ) ) ) ) ) ) ) ) ) ) ) => .WordStack ) ) + ( 0 : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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\x01\xa4\x00\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00dp\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) +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\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -4509,7 +4509,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI - ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 29485693714967335757563038618841744472215891622979272243827124658718922284880 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\"Error: a == b not satisfied [uint]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\n Left\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n Right\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) + .List 0 @@ -4588,7 +4588,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - ( .Map => ( 46308022326495007027972728677917914892729792999299745830475596687180801507328 |-> 1 ) ) + .Map .Map @@ -4609,7 +4609,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - ( .Map => ( 7 |-> 256 ) ) + .Map .Map @@ -4703,29 +4703,29 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 - #halt - ~> ( #pc [ REVERT ] - ~> #execute => .K ) + ( #end EVMC_SUCCESS => #halt ) + ~> #pc [ STOP ] + ~> #execute ~> _CONTINUATION @@ -4743,7 +4743,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI b"" - EVMC_REVERT + EVMC_SUCCESS .List @@ -4768,10 +4768,10 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - ( 0 : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .WordStack ) ) ) ) ) + ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) +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\fstorage_abcd\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\x01\xa4\x00\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00dp\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" 0 @@ -4789,7 +4789,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI - .List + ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 29485693714967335757563038618841744472215891622979272243827124658718922284880 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\"Error: a == b not satisfied [uint]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\n Left\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n Right\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) 0 @@ -4868,7 +4868,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - .Map + ( 46308022326495007027972728677917914892729792999299745830475596687180801507328 |-> 1 ) .Map @@ -4889,7 +4889,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - .Map + ( 7 |-> 256 ) .Map @@ -4983,29 +4983,29 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 - ( #end EVMC_SUCCESS => #halt ) - ~> #pc [ STOP ] - ~> #execute + #halt + ~> ( #pc [ REVERT ] + ~> #execute => .K ) ~> _CONTINUATION @@ -5023,7 +5023,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI b"" - EVMC_SUCCESS + EVMC_REVERT .List @@ -5048,10 +5048,10 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .WordStack ) + ( 0 : ( 491460923342184218035706888008750043977755113263 : ( VV0_slot_114b9705:Int : ( 299 : ( selector ( "testFail_SymbolicStorage1_custom_name(uint256)" ) : .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\x01\xa4\x00\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00q\tp\x9e\xcf\xa9\x1a\x80bo\xf3\x98\x9dh\xf6\x7f[\x1d\xd1-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00dp\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01p\xca\x10\xbb\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-failed\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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" + b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\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\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xcc#\xb7/" +Bytes #buf ( 32 , VV0_slot_114b9705:Int ) +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\fstorage_abcd\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" 0 @@ -5069,7 +5069,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI - ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 29485693714967335757563038618841744472215891622979272243827124658718922284880 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00 \x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\"Error: a == b not satisfied [uint]\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\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 ( STORAGE_ABCD:Map , VV0_slot_114b9705:Int ) ) +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\n Left\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) ListItem ( { 728815563385977040452943777879061427756277306518 | ListItem ( 80904256614161075919025625882663817043659112028191499838463115877652359487912 ) | b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00@\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\n Right\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" } ) + .List 0 @@ -5148,7 +5148,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - ( 46308022326495007027972728677917914892729792999299745830475596687180801507328 |-> 1 ) + .Map .Map @@ -5169,7 +5169,7 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI 0 - ( 7 |-> 256 ) + .Map .Map @@ -5263,24 +5263,24 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24 + rule [BASIC-BLOCK-20-TO-22]: #halt @@ -5543,13 +5543,13 @@ module SUMMARY-TEST%SYMBOLICSTORAGETEST.TESTFAIL-SYMBOLICSTORAGE1-CUSTOM-NAME(UI requires ( 0 <=Int CALLER_ID:Int andBool ( 0 <=Int ORIGIN_ID:Int - andBool ( 0 <=Int NUMBER_CELL:Int - andBool ( 0 <=Int TIMESTAMP_CELL:Int andBool ( 0 <=Int VV0_slot_114b9705:Int + andBool ( pow24